chore: update genesis timestamp, fix import paths, clean compiled JS files, and adjust mock path

- Update devnet genesis timestamp to 1766400877
- Add Receipt model for zk-proof generation with receiptId, miner, coordinator fields
- Fix import paths from settings to config across service modules (access_control, audit_logging, encryption, hsm_key_manager, key_management, zk_proofs)
- Remove compiled JavaScript files from explorer-web components and lib directories
- Update mock data base path
This commit is contained in:
oib
2025-12-22 15:51:19 +01:00
parent c8be9d7414
commit cdaf1122c3
49 changed files with 6157 additions and 908 deletions

View File

@ -1,41 +1,55 @@
# Blockchain Node Task Breakdown
## Status (2025-09-27)
## Status (2025-12-22)
- **Stage 1**: Design and scaffolding remain TODO; no implementation committed yet. Coordinator receipts now include historical persistence and attestations, so blockchain receipt ingestion should align with this schema when development begins.
- **Stage 1**: **DEPLOYED** - Blockchain Node successfully deployed on host with RPC API accessible
- SQLModel-based blockchain with PoA consensus implemented
- RPC API running on port 9080 (proxied via /rpc/)
- Mock coordinator on port 8090 (proxied via /v1/)
- Devnet scripts and observability hooks implemented
- Note: SQLModel/SQLAlchemy compatibility issues remain (low priority)
## Stage 1 (MVP)
## Stage 1 (MVP) - COMPLETED
- **Project Scaffolding**
- Create `apps/blockchain-node/src/` module layout (`types.py`, `state.py`, `blocks.py`, `mempool.py`, `consensus.py`, `rpc.py`, `p2p.py`, `receipts.py`, `settings.py`).
- Add `requirements.txt` with FastAPI, SQLModel, websockets, orjson, python-dotenv.
- Provide `.env.example` with `CHAIN_ID`, `DB_PATH`, bind addresses, proposer key.
- Create `apps/blockchain-node/src/` module layout (`types.py`, `state.py`, `blocks.py`, `mempool.py`, `consensus.py`, `rpc.py`, `p2p.py`, `receipts.py`, `settings.py`).
- Add `requirements.txt` with FastAPI, SQLModel, websockets, orjson, python-dotenv.
- Provide `.env.example` with `CHAIN_ID`, `DB_PATH`, bind addresses, proposer key.
- **State & Persistence**
- Implement SQLModel tables for blocks, transactions, accounts, receipts, peers, params.
- Set up database initialization and genesis loading.
- Provide migration or reset script under `scripts/`.
- Implement SQLModel tables for blocks, transactions, accounts, receipts, peers, params.
- Set up database initialization and genesis loading.
- Provide migration or reset script under `scripts/`.
- **RPC Layer**
- Build FastAPI app exposing `/rpc/*` endpoints (sendTx, getTx, getBlock, getHead, getBalance, submitReceipt, metrics).
- Implement admin endpoints for devnet (`mintFaucet`, `paramSet`, `peers/add`).
- Build FastAPI app exposing `/rpc/*` endpoints (sendTx, getTx, getBlock, getHead, getBalance, submitReceipt, metrics).
- Implement admin endpoints for devnet (`mintFaucet`, `paramSet`, `peers/add`).
- **Consensus & Block Production**
- Implement PoA proposer loop producing blocks at fixed interval.
- Integrate mempool selection, receipt validation, and block broadcasting.
- Add basic P2P gossip (websocket) for blocks/txs.
- Implement PoA proposer loop producing blocks at fixed interval.
- Integrate mempool selection, receipt validation, and block broadcasting.
- Add basic P2P gossip (websocket) for blocks/txs.
- **Receipts & Minting**
- Wire `receipts.py` to coordinator attestation mock.
- Mint tokens to miners based on compute_units with configurable ratios.
- Wire `receipts.py` to coordinator attestation mock.
- Mint tokens to miners based on compute_units with configurable ratios.
- **Devnet Tooling**
- Provide `scripts/devnet_up.sh` launching bootstrap node and mocks.
- Document curl commands for faucet, transfer, receipt submission.
- Provide `scripts/devnet_up.sh` launching bootstrap node and mocks.
- Document curl commands for faucet, transfer, receipt submission.
## Stage 2+
## Production Deployment Details
- Upgrade consensus to compute-backed proof (CBP) with work score weighting.
- Introduce staking/slashing, replace SQLite with PostgreSQL, add snapshots/fast sync.
- Implement light client support and metrics dashboard.
- **Host**: Running on host machine (GPU access required)
- **Service**: systemd services for blockchain-node, blockchain-rpc, mock-coordinator
- **Ports**: 9080 (RPC), 8090 (Mock Coordinator)
- **Proxy**: nginx routes /rpc/ and /v1/ to host services
- **Access**: https://aitbc.bubuit.net/rpc/ for blockchain RPC
- **Database**: SQLite with SQLModel ORM
- **Issues**: SQLModel/SQLAlchemy compatibility (low priority)
## Stage 2+ - IN PROGRESS
- 🔄 Upgrade consensus to compute-backed proof (CBP) with work score weighting.
- 🔄 Introduce staking/slashing, replace SQLite with PostgreSQL, add snapshots/fast sync.
- 🔄 Implement light client support and metrics dashboard.