- Convert _propose_block, _ensure_genesis_block to async methods in PoAProposer - Add await to gossip_broker.publish calls in block broadcasting - Add await to _ensure_genesis_block and _propose_block method calls - Update coordinator-api Python version constraint to >=3.13,<3.15 - Add torch ^2.10.0 dependency to coordinator-api - Add make_asgi_app import to prometheus_client in main.py - Export new routers: global
Blockchain Node
Purpose & Scope
Minimal asset-backed blockchain node that validates compute receipts and mints AIT tokens as described in docs/bootstrap/blockchain_node.md.
Status
Scaffolded. Implementation pending per staged roadmap.
Devnet Tooling
scripts/make_genesis.py— Generate a deterministic devnet genesis file (data/devnet/genesis.json).scripts/keygen.py— Produce throwaway devnet keypairs (printed or written to disk).scripts/devnet_up.sh— Launch the blockchain node and RPC API with a freshly generated genesis file.
Quickstart
cd apps/blockchain-node
python scripts/make_genesis.py --force
bash scripts/devnet_up.sh
The script sets PYTHONPATH=src and starts the proposer loop plus the FastAPI app (via uvicorn). Press Ctrl+C to stop the devnet.