In the current ecosystem voting is either resolved off-chain ( or requires a token lockup period, or snapshots (MiniMe Token). With this implementation our team has found to way to reach consensus in a reliable manner.

What it does

When an election is generated anyone with a token balance of a specific token is able to participate. Token holders may vote yes or no to the election, and their balance will be updated to reflect their choice. Anytime through the election period a token holder may transfer his token as he pleases.

There are a number of monitoring agents who are incentivized to maintain election results. these monitors will consistently check the blockchain for any change in token balance from previous voters. If a change occurs these monitors would then send a transaction to the blockchain to update the vote count that he previously chosen. Monitors have a reporting period that extends past voting period to certify votes are correct.

How we built it

Election contracts are deployed in Solidity within AragonOS, while monitoring agents are generating utliizing web3js

Challenges we ran into

Resolving race condiitons and double voting in an effective manner.

Accomplishments that we're proud of

What we learned

What's next for FalseByte Carbon Voting

Built With

Share this project: