Files
aitbc/docs/reference/components/blockchain_node.md
oib 55ced77928 ```
chore: remove obsolete files and add Solidity build artifacts to .gitignore

- Add ignore patterns for Solidity build artifacts (typechain-types, artifacts, cache)
- Remove unused exchange mock API server (api/exchange_mock_api.py)
- Remove obsolete client-web README placeholder
- Remove deprecated marketplace-ui HTML implementation
```
2026-01-24 15:46:23 +01:00

2.6 KiB
Raw Blame History

Blockchain Node Task Breakdown

Status (2025-12-22)

  • 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) - 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.
  • 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/.
  • RPC Layer

    • 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.
  • Receipts & Minting

    • 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.

Production Deployment Details

  • 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.