Kadena Cabinet is a Community Advisory Board (CAB) where KDA token holders come together to influence strategic decisions within the Kadena ecosystem via an on-chain polling mechanism. By locking their tokens, members engage in governance and are eligible to earn participation rewards, which are distributed alongside the original deposit after the lockup period concludes.
-
Chainweb Node Instance:
- An instance of the Chainweb Node with the
allowReadsInLocal: true
parameter set.
- An instance of the Chainweb Node with the
-
One of the Following:
- A Kadena GraphQL server.
- Access to the
events
endpoint from Chainweb Data. - SQL access to the PostgreSQL database from Chainweb Data.
pact/
: Smart contracts and related files for on-chain governance.*.pact
: Smart contract files.*.repl
: Interactive Pact session files.root/
: Contains on-chain contracts used locally.devnet/
: Deployment scripts using the kda tool.
backend
:API/
: Contains the C# API backend logicPactSharp/
: C# integration for Pact smart contracts uses PactSharp.
web/
: Frontend application built with Next.js.docker-compose.yaml
: Docker Compose configuration for deploying the application.
To start using or contributing to Kadena Cabinet:
- Clone this repository to your local machine.
- Deploy the Pact smart contracts as described in the
pact/README.org
and through thedevnet
directory scripts. - Set up the required
/web/.env
and/backend/API/appsettings.json
files based on the provided examples. - Use
docker-compose.yaml
to deploy the entire application stack.
We welcome contributions to the Kadena Cabinet! Please feel free to open pull requests.
Kadena Cabinet is open-source and available under the LICENSE.
For any questions or issues, please open an issue on GitHub.
Happy governing!