Project Name: Global Voting System
Group Name: TBD.
This is the repository for UBC EECE571G Blockchain Software Engineering Project, 2020.
Steps:
- cd client : npm install
- New workspace in Ganache with truffle-config.js under root
- truffle compile
- truffle migrate --reset
- type "npm start" under ./client
- Copy first account key from Ganache and import into metamask with new created account
- Refresh the page
This Dapp is for straight voting and cumulative voting on the blockchain.
What is the difference between straight voting and cumulative voting? -> see here[https://tremblylaw.com/cumulative-and-straight-voting-know-the-difference/]
Key functions:
- Candidate Creation ** Can only be done by deployer **
- Share Allocation ** Can only be done by deployer **
- Vote setting & vote start end date ** Can only be done by deployer **
- Vote type change ** Can only be done by deployer **
- Vote for multiple candidate (But you can't exceed the number of open seats, and can't exceed your shares)
- View personal vote history
- Change personal vote (maximum 3 times)
- Change the your vote (You have 3 chances to change your vote)
- View real-time voting results
solidity + truffle + Ganache
react + web3 + bootstrap
reports/571G-UBC-D-Vote.pdf contains screenshots&descriptions for all the functions