The project is structured into four different packages:
node: The Provotum Mixnet implemented using Substratecrypto: A cryptographic library implementing all algorithms and proofsrandomizer: A service to randomizes the voters ballots'client: A CLI to interact with the randomizer and the node
For more information have a look at the individual packages.
To start a multi-node local test network, the docker-compose.yml file can be used.
docker-compose upThis starts a three-node local test network with:
- Alice, as voting-authority (cannot author blocks, but is the voting admin)
- Bob and Charlie, as sealers and PoA-authorities (can author blocks)
Also, starts a randomizer service for ballot re-encryption:
- Randomizer
To interact with the test setup use the client CLI.
Have a look at the README of the client package on how to build the CLI and use it.