Skip to content

Releases: Coec0/DecentralizedVotingSystem

ElGamal bugfix

04 Apr 11:57

Choose a tag to compare

Changed the votes to consist of an array with an array inside that has the length of four. In this array the encryption for each vote should be as [ax, ay, bx, by].

ElGamal

03 Apr 13:50

Choose a tag to compare

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

02 Apr 13:37

Choose a tag to compare

El-gamal structure Pre-release
Pre-release

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

14 Mar 11:39

Choose a tag to compare

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

19 Feb 14:52

Choose a tag to compare

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

18 Feb 13:18

Choose a tag to compare

This is a working version of classroom voting