← Back to home

Voting with UBI

Equal rights voting mechanism for DAO based on constant emission rate token

Screenshots

Voting with UBI screenshot 1
Voting with UBI screenshot 2
Voting with UBI screenshot 3

Problem Statement

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.Admin (the deployer of the voting contract) has the rights to start and end a voting round.Proposer - every participant is able to propose an idea once in each roundVoter - any participant is able to cast multiple votes on multiple ideas.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.

Solution

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 caseClosed group - Admin has the rights to invite only relevant people into their voting groupConstant emission rate - The voting power is emitted at constant rate for everyone thus not favoring any individual.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.

Hackathon

ETHGlobal Singapore

2024

Prizes

  • 🏆

    Best Build with Circles on Gnosis Chain

    Gnosis Chain

Contributors