Files
aitbc/apps/wallet-daemon
oib f6ee77f497 refactor: consolidate logging to shared aitbc-core package and upgrade database dependencies
- Upgrade SQLAlchemy to 2.0.47 with asyncio extras in blockchain-node and coordinator-api
- Add asyncpg >=0.29.0 for PostgreSQL async support
- Remove uvloop as optional dependency, make it required >=0.22.0
- Delete duplicate logger.py from blockchain-node (117 lines)
- Refactor coordinator-api logging to use shared aitbc.logging from aitbc-core package
- Add aitbc-core package dependency to coordinator
2026-02-28 21:09:14 +01:00
..
```
2026-01-24 14:44:51 +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.