Skip to content

TERITORI/gnodaos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GnoDAO

Our aim is to introduce DAO functionality to Gnolang through this project.

Test execution

To run the tests run

gnodev test r/gnodao --verbose --root-dir ../gno

User flow

Here are the steps to deploy a contract with a quorum:

  1. Firstly, you can deploy a contract.
  2. This contract has a quorum, which is essentially an array of addresses and an agreement ratio that can be updated. You can add new members, remove members, or change the quorum ratio.
  3. One member of the quorum can propose a transaction.
  4. Each member of the quorum is required to make a transaction to vote yes for the proposed transaction ID.
  5. If the number of yes votes exceeds the quorum, one member can execute the transaction.
  6. If the number of yes votes is less than the quorum, one member can close the proposal. However, this step can be inconvenient. Instead, we can set an expiration period for each proposal when we submit one. If block.timestamp is greater than expiration, no one can vote or execute it.

Research

Resources