The Citizen Data Network allows you to synchronize voter registration activity and votes to blockchain for a tamper-free audit record. Votes on the blockchain are anonymous and can be audited and tallied by anyone with access to the ledger. Using the Citizen Data Network's Netvote SDK and APIs you can synchronize votes from existing election systems, or you can build complete voting interfaces. Netvote supports many ballot and vote features and provides portability across multiple blockchain platforms.
To start you will need authorized API credentials which consist of an API Key, an API ID, and an API Secret. To obtain your credentials you will need to register and create your API Keys using the Citizen Data Administration Portal.
To begin you can obtain and install the Netvote SDK and CLI which is available in a single NPM package.
npm install @netvote/netvote-api-sdk
Using the Netvote SDK you can write code to synchronize votes from existing applications. Also with the SDK you can develop new election configuration and voter applications. Example administrator and voter applications can also be found on GitHub which you can adopt and customize as required.
The Netvote Command Line Interface (CLI) will let you perform vote synchronization and election administration functions directly from the command line.
Both the SDK and the CLI utilize the Netvote REST APIs that you can also call directly. You can find the Swagger documentation for the APIs here.