Skip to content

okilimnik/agatha

Repository files navigation

Agatha, e-voting system

Roadmap

  1. Webrtc signaling server and client for p2p messaging - done.
  2. STUN/TURN server within the signaling server - done.
  3. Consensus.
  4. Identity system - PVID.
  5. Privacy-preserving computation problem in e-voting can be resolved simply by taking assumption that voting will take place at a particular time within a short (a few minutes, maybe up to 15 minutes) interval. In that case there is no such problem at all. We don't need a whole day for election and a few days for calculation as it happens on usual elections, everybody now has a cell phone and GSM (or WiFi) network at hand and can vote in few seconds at home or at office. We only need to provide enough bandwidth and network stability.
  6. UI.

Development

Node 10.x.x and greater. Made with shadow-cljs. Please refer to the full User Guide for more information.

Config

Rename config.edn.example to config.edn and fill it with your data.

Signature key

First time signature key creation will take a few minutes as its length is hardcoded to 4096 bits.

Run server

In one shell:

cd backend && shadow-cljs watch app

In another shell after shadow-cljs compiles:

node index.js

Run client

cd frontend && shadow-cljs watch app

After shadow-cljs compiles open browser

Release

cd frontend && shadow-cljs release app && cd .. && shadow-cljs release app

Run as daemon

I use pm2. A good guide

About

Agatha, e-voting blockchain based system

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors