Logo Lanfrica

geofmureithi/ubu-block

Domaine:

peace and security

Type de record:

software
Créateur:
geo
Hôte:
Blockchain for African countries election monitoring # ubu-block Uchaguzi bila Ubaguzi Blockchain A transparent, tamper-evident, and community-driven blockchain platform for election results. It is currently focused on Kenyan election's data but can easily be adapted for other countries. > [!NOTE] > This code is actively in active development and may break. PRs welcome ## Node Types - **Submission Nodes:** Allow users to submit polling station results. - **Observer Nodes:** Provide public, read-only access for transparency and independent verification. - **Verification Nodes:** Cross-reference submitted results with official sources and participate in reward submission. ## Features 1. **Immutable:** You can't make changes, only append—no `fungua server` and other shenanigans. 2. **Distributed:** No single point of data storage. 3. **Accessible:** Runs on SQLite, widely supported. 4. **Community Driven:** Dynamic number of signatories. 5. **Node Roles:** Submission, Observer, and Verification nodes for robust, transparent operations. 6. **BFT Consensus:** Tolerates up to 1/3 malicious nodes. 7. **Audit Trail:** All submissions (accepted or rejected) are recorded. 8. **Encrypted Communication:** End-to-end encryption for all node interactions. ## Getting Started ```sh git clone ubu-block cd ubu-block mkdir data ``` If you want to run binaries without installing Rust: 1. Get the latest binary from the releases page. 2. Replace `cargo run` with `ubu-block` 3. Download the relevant files (see "Setup initial files"). ### Setup initial files ```sh mkdir data # Create the db files cp src/sql/empty.db data/blockchain.db cp src/sql/empty.db data/private.db ``` ### Initialize a Blockchain ```sh cargo run init --init setup_constituencies.sql ``` You should get: ``` INFO ubu_block] Blockchain was successfully initialized! ``` ### Add Some Blocks Currently `ubu-block` has very limited dummy data, but this should change as soon as IEBC publishes the voter register. For testing purposes, limited data from pr …