Decentralized Autonomous Organizations (DAOs) are self-organized groups that form around common purposes. Membership, decision making, and funding are coordinated by publicly voting on proposals through a smart contract.
In contrast with FT and NFT, DAO contract’s are not standardized. Because of this, in this page we will use as
reference the Astra dao contract. The main concepts covered here should
easily generalizable to other DAO implementations.
Create a DAO
The simplest way to create and interact with a DAO is to go through the AstraDAO UI.
You can also create a DAO by interacting with the sputnik-dao
contract.
Voting policy
Currently, DAOs support two different types of voting policies: TokenWeight
, and RoleWeight
.
When the vote policy is TokenWeight
, the council votes using tokens. The weigh of a vote is the proportion of tokens used for voting over the token’s total supply.
When the vote policy is RoleWeight(role)
, the vote weigh is computed as “one over the total number of people with the role”.
Voting Threshold
Both voting policies further include a `threshold` for passing a proposal, which can be a ratio or a fixed number.
The ratio indicates that you need a proportion of people/tokens to approve the proposal (e.g. half the people need to vote, and to vote positively). A fixed number indicated that you need a specific number of votes/tokens to pass the proposal (e.g. 3 people/tokens are enough to approve the proposal).
List of DAOs
Query the list of DAOs existing in Sputnik Dao.
Query Existing Proposals
These snippets will enable you to query the proposals existing in a particular DAO.
Create proposal
Create a proposal so other users can vote in favor or against it.
By default, only **council members** can create proposals.
Vote for proposal
These snippet will enable your users to cast a vote for proposal of a particular DAO.
Additional Resources
- AstroDAO UI – the web app built on top of the Sputnik DAO Contract. Allows users to create and manage DAOs.
- List of DAOs as a NEAR component