Note: you might need to have a MetaMask account (or other blockchain wallet) to vote. It will probably work without, but if you don't see your vote in the spreadsheet try with a metamask account (connect in the top right hand corner).


I was inspired by Austin Griffith's personal token voting system, which you can find a blog post about here:

What it does

It's a quick build that currently lets you submit a vote signed by a wallet of your choice so that your vote is cryptographically verifiable. If you use this ethereum sandbox:

and replicate the string that is sent as your vote, you will see the address you used to vote. It currently stores these votes in a google spreadsheet.

How I built it

I built it using the front-end prototype that Austin Griffith has built: scaffold-eth. I then customized some of the front-end to my liking. I used Zapier to simplify the backend process. Right now, the app simply stores all the information related to votes in a spreadsheet.

Challenges I ran into

I was struggling to get Zapier working for some of the process. Another struggle was understanding how the Google Sheets API and ethers contracts worked, but I gained a rough understanding of them while building this project.

Accomplishments that I'm proud of

I was able to link the whole spreadsheet backend together eventually! I'm also proud that I was able to start diving into blockchain, even if it's a simple project for now.

What I learned

A little how blockchain contracts and cryptography work, some tools and code for using Google Sheets API.

What's next for Voter Blocks

I need to make it so that you can propose your own topics and polls to vote on, I need to work on what coins you can use to vote and how votes are counted, and I also need to make a true backend that is more robust than a google sheet if I want to use this in production.

Built With

Share this project: