Equal rights voting mechanism for DAO based on constant emission rate token
We want to build a dapp to provide equal rights voting mechanism for everyone. The dapp is applicable for important decision such as to have a consensus decision on what features to be included in future product, or even everyday little thing like voting for where to go for lunch among your colleague.
There are 3 roles in the voting mechanism.
When a vote is casted, the same amount of token has to be transferred to the voting contract. The token transferred will be locked in the pool for rewards. At the end of the voting round, the proposal with the highest vote will be calculated. 70% of the rewards will be awarded to the proposer and 30% of the reward will be awarded to one of the randomly chosen voter.
The project utilises CirclesUBI by Gnosis as the basis for our voting mechanism. Circles provides these features out of the box that suit our use case
We uses Circles SDK to create group and invite people into the group via its trust / untrust mechanism. The participants in the group can then use their Circles Currency (CRC) to mint the group token and use that as the voting currency for voting in the group. When a vote is casted, the group token will be sent to our voting contract to be included in the reward pool. The contract is deployed at https://gnosisscan.io/address/0xf85f0661f172128fc55b741e3581009a76eeea85#writeContract.
We built a UI using react to facilitate the above. In the admin view, the admin can start or end a vote. In the participant view, the participant can propose an idea. The metadata of the proposal such as the description will be recorded in the contract. The participants can also view the proposed ideas so far and vote for their favourite.