xavierdmello / Blockchain_Elections

A proof-of-concept online voting system designed to promote transparency, security, and deter fraud.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Blockchain Elections

New! Try it online with my React frontend: https://elections.xavierdmello.com

A proof-of-concept online voting system designed to promote transparency, security, and deter fraud. Created with Python, Solidity, Brownie, Web3.py, and PySimpleGUI.

ElectionsCanada

Installation

Windows Users:

  1. Download ElectionsCanada_Windows.zip from the latest release
  2. Run ElectionsCanada.exe

MacOS/Linux Users:

  1. Download Source code (zip) from the latest release
  2. Make sure you have Python, Web3.py, and Python-dotenv installed
  3. Run ElectionsCanada.py

Getting Started

  1. Install a crypto wallet. Metamask is recommended. If you already have a wallet, you can skip this step.
  2. Enter your wallet address in https://faucet.avax.network/ to get free ETH (test funds) to pay for transaction fees.
  3. Click "Add Account" in the Elections Canada app and paste your account's private key.
    • Your private key is not stored securely in the Elections app - while testing it out, please use a seperate account that has no real funds attached to it.
    • In Metamask, you can get your private key by following these steps:
      1. Click the three dots in the top right of Metamask
      2. Click on "Account Details"
      3. Click on "Export Private Key"
  4. You're good to go! Create elections, run for office, and vote - with the next generation of secure, decentralized technology.

Contract Addresses

Deployed on the Avalanche Testnet

ElectionManager: 0xC690ce62e557B7e7687DFb58945D49022851621A

ElectionDataAggregator: 0x2A0B10368e69E35a330Fac7DeFcC9dC879e8B021

About

A proof-of-concept online voting system designed to promote transparency, security, and deter fraud.


Languages

Language:Python 81.0%Language:Solidity 19.0%