Releases: Coec0/DecentralizedVotingSystem
Releases · Coec0/DecentralizedVotingSystem
ElGamal bugfix
ElGamal
This version supports:
- El Gamal structure where you cast a vote on every candidate that is either an encrypted '1' or an encrypted '0'. The '1' is the person you vote for and the '0's should be cast on everyone else.
- Proper documentation using the Ethereum Natural Specification Format
- Admins that are the only persons (addresses) that may add candidates, edit the whitelist and activate/deactivate the whitelist
- Blocks until the voting starts.
- Changed so that candidates can only be added when the voting is closed.
- Feed in the public key for ElGamal in the constructor and retrieve it later with function getPublicKey()
This release includes the JS script 'getVotes' to print all the votes into the console. Run it using "geth --exec 'loadScript("getVotes.js")' attach http://ip-to-blockchain:port"
El-gamal structure
This version supports:
- El Gamal structure where you cast a vote on every candidate that is either an encrypted '1' or an encrypted '0'. The '1' is the person you vote for and the '0's should be cast on everyone else.
- Proper documentation using the Ethereum Natural Specification Format
- Admins that are the only persons (addresses) that may add candidates, edit the whitelist and activate/deactivate the whitelist
- Blocks until the voting starts.
- Changed so that candidates can only be added when the voting is closed.
What is still needed to add is the possiblity to get the variables for elgamal, like the public key.
Decentralized Voting System
Splitting of Contract
In this version the program has been split into two smartcontracts.
- voterrecord.sol, this smartcontract only keeps track of who are allowed to vote. You add candidates to this contract and remove them.
- votingsystem.sol, this is the same as before but with all "whitelist" functionality moved to voterrecord.sol. This contract is now dependend on voterrecord.sol and therefore needs to be deployed after it.
Decentralized Voting System
This release features:
- A whitelist (röstlängd)
- Deciding how long the voting is going to be open (counting in blocks)
- Adding a candidate during an election
- Get the leading candidate
- Revoting (changing who you voted for)
The whitelist is activated as soon as a voter is added to the whitelist. After this the whitelist cannot be deactivated (even if the persons added to the whitelist are removed).
Classroom Voting
This is a working version of classroom voting