Tree view
- Goal: K/H/S/B stations, local services, moderate backhaul. Fixed hubs for mayors and nearby citizens.
- Phases:
- FastAPI/SQLite environment (OK). Baseline backend ready to host services.
- Radio slice / docs / mini-blockchain / bundle sync (see phases 0→7). Progressive layering of features.
- Infra:
- ASCII + stations & hardware (recap). Shared mental model for install teams.
- Todo/purchases (outdoor box, provisioning, etc.). What to buy and prep for field kits.
ASCII view (OBBHFL)
Central node (city) – content + chain collection
|
| (pro backhaul)
v
PRO RELAY / KIT K (town hall)
- RX/TX antennas
- SSD content + chain copy
- mayor tablet/PC
|\
| \-- H : HOME box (dir. antenna, chain sync)
| \
| \-- portable C-port (panel antenna, sync)
|
v (local Wi‑Fi)
S : STANDARD box (ESP32, µSD, identity, actions)
Points to clarify
- To do Multi-village mapping (A↔B link) and QoS classes. Who serves whom, and traffic classes.
- To do Physical diagram with mast heights + target distances. Installation checklist.
- Info to gather Real throughput measurements CPE210 / NanoStation on site. Validate expected speeds.
Stations & hardware (recap)
S: Standard (€6–8)
- ESP32-WROOM DevKit, SPI µSD reader, plastic case, USB power.
- To do Key provisioning script (ed25519 generation + registration). Give each box an identity.
H: Home (€15–35)
- S base + directional antenna (CPE210 or PCB u.FL).
- Info 2.4 GHz Foxeer Omni drone antennas available for tests.
- Buy 2× 2.4 GHz panels or CPE210 for tests.
K: Relay (€80–120)
- OpenWRT router 2.4 GHz + 64–128 GB SSD.
- Optional solar 20–30 W + 7Ah battery.
- To do Outdoor box + wiring diagram.
COM backhaul (€50–70)
- NanoStation Loco M2/M5 pair or clones (2–10 km LoS).
- Info to gather Allowed band/power locally.
Mayor terminal (€50–70)
- Android 8" tablet + blockchain USB key + S identity box.
- To do Offline voting/validation UX.
Todo & purchases (V3)
Immediate technical
- To do Init repo
backend/obambu_node with FastAPI skeleton. Home for APIs and storage.
- To do READMEs per station in
devices/*. Give field teams clear steps.
- To do Mock sync script (HTTP + USB). Exercise the bundle flows.
- To do Document meta format (.json) + examples. Shared spec for docs and bundles.
Priority purchases
- Buy 2× ESP32 u.FL + cables/antennas.
- Buy 2× outdoor Wi‑Fi CPE (CPE210 or similar).
- Buy 1× low-power OpenWRT router (GL.iNet).
- Buy Solar kit 20–30 W + controller + 7Ah battery.
Info to collect
- Info to gather Local radio regulation (power/band 2.4/5 GHz).
- Info to gather Terrain constraints (obstacles, mast height) per village.
- Info to gather Town hall UI needs (vote, attestation, revocation).
Phase 0 – Environment
- FastAPI + SQLite repo (
backend/obambu_node).
- Basic endpoints
/health, /device/hello.
- OK Stack + env in place. Ready to add features.
Phase 1 – Radio slice (no security yet)
- Device endpoints: hello, config, content_index, content.
- Simple storage (SQLite).
- OK API on node. Basic content delivery works.
- To do ESP32 sketch (hard Wi‑Fi + LED). Field-ready firmware.
Phase 2 – Docs + .enc (fake crypto)
- CRUD documents (
storage/docs, meta).
- ESP32: base64 → SPIFFS.
- OK Admin upload (base64) + binary stream to device. Content path proven.
Phase 3 – Mini-blockchain
- Tx pool + append-only blocks.
- API:
/transactions, /chain/head, /chain/blocks/{id}.
- To do Implement blocks/tx. First consensus skeleton.
Phase 4 – Multi-node sync
- In progress Bundles export/import (gzip+base64) + admin UI.
- Script
bundle_carrier.py (Termux/laptop).
- To do Link quotas/priorities + ACK/purge. Flow control for ferries.
Phase 5 – Signatures & laptop crypto
- ed25519 (PyNaCl) for mayors/communes/nodes.
- In progress Admin signature (ed25519) to harden; token OK.
- To do Choose signature format (COSE/CBOR vs JSON) for tx. Interoperable proofs.
Phase 6 – Real .enc encryption
- libsodium for docs (nonce, MAC).
- To do Key rotation strategy for docs. Limit blast radius if a key leaks.
Phase 7 – Mayors’ forum
- Tx FORUM_THREAD / FORUM_POST.
- Forum API + simple UI.
- To do TTL/scope per class P0..P3. Keep urgent debates flowing, archive the rest.