Files
aitbc/apps/wallet/README.md
oib 15427c96c0 chore: update file permissions to executable across repository
- Change file mode from 644 to 755 for all project files
- Add chain_id parameter to get_balance RPC endpoint with default "ait-devnet"
- Rename Miner.extra_meta_data to extra_metadata for consistency
2026-03-06 22:17:54 +01:00

33 lines
1.2 KiB
Markdown
Executable File

# 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):
```bash
poetry install
```
- Copy/create `.env` and configure coordinator access:
```bash
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:
```bash
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.