Inspiration
Our inspiration for building an election app on the blockchain was the controversy surrounding the elections in our country. While one party was concerned with expanding access to elections, the other was concerned with election security. Blockchain technology was the best way to solve this.
What it does
Our app takes a vote as an input, counts it, and then sends the input to a smart contract. The only way to alter that smart contract is through another smart contract which can only be called once. The maximum damage to the election that can be done with 1 person’s Personal Information is one vote. This also maintains privacy of the person, as the identity of the person is checked within the smart contract, and the inner workings of the smart contract are completely blackboxed due to the fact that it was compiled in a web assembly
How we built it
For the frontend of the website, we created a javascript file containing the contents of each page. The components used on each page were imported from React Bootstrap and included additional inline styling to fit the overall design of our website.
Challenges we ran into
We ran into challenges with the interactions between the frontend and the blockchain. This was difficult because learning how to use a new API with javascript was tough, especially pairing it with React (considering most of the support was built for native Javascript).
Accomplishments that we're proud of
The structure of the dual contract system completely hiding data is one on the backend, and the frontend/UI is pretty intuitive, too. The fact that the frontend ended up looking that nice in 48 Hours is probably our biggest accomplishment
What we learned
We learned how to deploy contracts to the blockchain through a web app- completely serverless. This greatly expands our horizons for future projects, as it is possible to deploy a full stack block chain web app in seconds with Vercel and Heroku.
What's next for eVote
Next, we plan to completely federate the data, making it impossible to hack the election system without exposing it to the public by using black boxed smart contracts, as this wasn’t what the timeframe of the hackathon allowed for.
Built With
- blockchain
- heroku
- javascript
- near
- next
- postgresql
- rust
- vercel
Log in or sign up for Devpost to join the conversation.