Skip to content

Instantly share code, notes, and snippets.

@pablofullana
Created May 14, 2019 20:40
Show Gist options
  • Save pablofullana/c010534563e08f5753ac7fd8e50da386 to your computer and use it in GitHub Desktop.
Save pablofullana/c010534563e08f5753ac7fd8e50da386 to your computer and use it in GitHub Desktop.

## Goal

Create a DApp that allows people to vote on a (binary) proposal. Each ethereum address should be allowed to vote only once and the vote should cost 0.01 ETH.

- When a user opens the page, it should see the result so far (number of positive votes vs. number of negative votes).
- If the MetaMask account they are using hasn't voted yet, they should also see two buttons: one for voting "Yes" and one for "No". If they already voted, they should see their vote instead. Votes cannot be updated.
- Results should be updated in real-time: if someone else votes when I have the page open, I should see the new result.

The app should consist only of the frontend and the smart contract. There is no need for a backend.

## Stack

The only requirements are to use React for the frontend and Solidity for the smart contract. Everything else is up to you. Useful libraries: Truffle, Ganache, web3.

## Submitting solution

* After reading and analyzing this, please provide an estimation of how many days you will think it will take you to do this.
* Create a Github repo, give Profotire team access and commit new code as usually, this is part of the evaluation process.
* Let Protofire know once work is completed.```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment