Files
aitbc/apps/wallet
oib 36be9c814e feat: add blockchain state and balance endpoints with multi-chain support
- Add GET /state endpoint to blockchain RPC router for chain state information
- Add GET /rpc/getBalance/{address} endpoint for account balance queries
- Add GET /rpc/head endpoint to retrieve current chain head block
- Add GET /rpc/transactions endpoint for latest transaction listing
- Add chain-specific wallet balance endpoint to wallet daemon
- Add blockchain state CLI command with --all-chains flag for multi-chain queries
2026-03-07 20:00:21 +01:00
..

Wallet Daemon

Purpose & Scope

Local FastAPI service that manages encrypted keys, signs transactions/receipts, and exposes wallet RPC endpoints. Reference docs/bootstrap/wallet_daemon.md for the implementation plan.

Development Setup

  • Create a Python virtual environment under apps/wallet-daemon/.venv or use Poetry.
  • Install dependencies via Poetry (preferred):
    poetry install
    
  • Copy/create .env and configure coordinator access:
    cp .env.example .env  # create file if missing
    
    • COORDINATOR_BASE_URL (default http://localhost:8011)
    • COORDINATOR_API_KEY (development key to verify receipts)
  • Run the service locally:
    poetry run uvicorn app.main:app --host 127.0.0.2 --port 8071 --reload
    
  • REST receipt endpoints:
    • GET /v1/receipts/{job_id} (latest receipt + signature validations)
    • GET /v1/receipts/{job_id}/history (full history + validations)
  • JSON-RPC interface (POST /rpc):
    • Method receipts.verify_latest
    • Method receipts.verify_history
  • Keystore scaffolding:
    • KeystoreService uses Argon2id + XChaCha20-Poly1305 via app/crypto/encryption.py (in-memory for now).
    • Future milestones will add persistent storage and wallet lifecycle routes.