EOS Referendum tool nearing public beta
It was a no-go on Tuesday, but the referendum working group’s got line of sight to a public beta release next week. A few of the open tally and UI issues were declared showstoppers when the group met to check in and hold a go/no-go vote. The team is scheduled to vote again on November 1 (this was recently pushed back from October 30).
We’ve made great progress since our August 9 status update, which I’m happy to report below.
Clarified product scope:
What it is: We’re providing the community with a tool to enable EOS token holders to vote on proposals with their staked tokens. The referendum system is made up of a forum smart contract for submitting proposals and casting votes, a tally system for counting the EOS staked towards each ballot option, a voting portal UI with support documentation to facilitate easy voting, and support for integration with wallets and alternative UIs so token holders can participate in the interface they’re most comfortable with. It’s all open source and available on GitHub.
What it’s not: We haven’t developed a process for creating or filtering proposals, nor have we defined any specific rules for how referenda should be ratified. We’ll provide suggested best practices, but we can’t control how the tool will be used and we don’t have the authority to impose our own rules outside of what’s outlined in article XI of the EOS Constitution. It’s up to the community to craft proposals and vote on them; and a vote of 15/21 top BPs to ratify and implement passed proposals. Thanks to the beauty of DPOS, a separate group has formed to develop proposal best practices of their own. You can find the Ballot Craft group on telegram.
- EOS Forum smart contract: Release candidate is live on eosforumrcpp mainnet account
- Tally system: Prototype live in production with known issues — tweaking in progress
- EOSvotes voting portal: Incomplete, but operational — tweaking in progress
Thanks to the hard work of EOS Canada, the forum smart contract is live on the mainnet and working as expected. We’ve got a usable UI at EOSvotes.io thanks to EOS Tribe and GenerEOS, and a tally system tracking votes thanks to EOS Nation.
Since our last update, testing had uncovered stability issues with the vote tally. It was prone to crashing under high EOS transaction load because it queried the entire blockchain to watch for votes. Denis Carriere (EOS Nation) has refactored it to leverage EOS Canada’s new dfuse API to easily handle table deltas via their WebSocket API. This makes the tally much less likely to crash under high transaction volumes and quicker to boot because it’s able to query relevant changes in vote data while ignoring irrelevant transactions. We’re continuing to test and tweak the tally logic and will now support proxy votes in our beta.
In the meantime, Steve Floyd (EOS Tribe) is putting finishing touches on the EOSvotes.io UI. And Anna Taylor (EOS Tribe), Josh Kauffman (EOS Canada) and Daniel Keyes (EOS Nation) are wrapping up the educational content and FAQs.
- Close showstopper tally and UI issues
- Submit sample proposal using markdown
- Get EOStookit updated to point to eosforumrcpp contract
- Integrate ricardian contract
- Community feedback process
- Meet on Tuesday, October 30 for go/no-go on beta release