- Remove executable permissions from configuration files (.editorconfig, .env.example, .gitignore) - Remove executable permissions from documentation files (README.md, LICENSE, SECURITY.md) - Remove executable permissions from web assets (HTML, CSS, JS files) - Remove executable permissions from data files (JSON, SQL, YAML, requirements.txt) - Remove executable permissions from source code files across all apps - Add executable permissions to Python
1.2 KiB
1.2 KiB
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/.venvor use Poetry. - Install dependencies via Poetry (preferred):
poetry install - Copy/create
.envand configure coordinator access:cp .env.example .env # create file if missingCOORDINATOR_BASE_URL(defaulthttp://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
- Method
- Keystore scaffolding:
KeystoreServiceuses Argon2id + XChaCha20-Poly1305 viaapp/crypto/encryption.py(in-memory for now).- Future milestones will add persistent storage and wallet lifecycle routes.