Governance Module
Last updated
Last updated
The governance module lets you spin up on-chain governance for communities or projects (similar to a DAO platform). Nyvo’s governance tooling includes:
A program that allows proposal creation, voting, and execution of decisions. It will manage one or more governing tokens (often an SPL governance token or even an NFT representing membership) to determine voting power.
Users with governance tokens can create proposals (which could be free-form text proposals or on-chain action proposals). The program assigns each proposal an account (PDA derived from an incrementing proposal index, for example). The proposal account stores metadata like description, creator, start/end time, and vote counts.
The module supports voting by token weight. When a user votes, the program checks their token holding (possibly using a snapshot or at least ensuring tokens are staked in the governance program to prevent transfer mid-vote). Votes (yes/no or more options) are tallied on-chain. Nyvo likely provides configuration for vote quorum (minimum participation) and majority threshold.
In advanced setups, a governance proposal might, once passed, trigger an execution step – for instance, transferring funds or calling another program. Nyvo’s governance module could integrate with Solana’s native governance program or provide a simplified execution model (like only off-chain actions or multisig-like functionality for on-chain).
The generated UI will include a governance dashboard where proposals are listed. Users can click a proposal to see details, then cast votes using their wallet. If creating a proposal, a form allows inputting the proposal text and parameters, and submitting it triggers the program’s createProposal
instruction. All these interactions are made user-friendly, so developers/admins of the dApp can govern directly from the web interface.
The governance module can be used alongside others. For example, if you launch a token via the launchpad module, you could then use the governance module to let token holders vote on project decisions. Nyvo’s design is likely modular enough that these pieces interoperate (for instance, the governance token could be the same token distributed in the launchpad).