### sdk_relay ## Description `sdk_relay` est un service Rust qui relaye des messages et événements autour de Bitcoin en s’adossant à: - RPC Bitcoin Core (lecture chaîne, mempool, transactions, PSBT) - ZMQ de Bitcoin Core (sujets `rawtx`, `hashblock`) - Blindbit (scan filtré BIP158 via `sdk_common`) - WebSocket (serveur « fanout » et diffusion contrôlée) ## Fonctionnalités - Serveur WebSocket configurable (`ws_url`) - Endpoint de santé HTTP (`/health` sur port 8091) - Gestion d’état locale dans `~/` (par défaut `.4nk`) - Diffusion des messages réseau `sdk_common` (Handshake, NewTx, Commit, Cipher, etc.) - Persistance de portefeuille Silent Payments et des processus/membres ## Configuration Créer un fichier de configuration et le fournir via `--config` (voir `docs/ANALYSE.md`): - `core_url`, `core_wallet?`, `ws_url`, `wallet_name`, `network`, `blindbit_url`, `zmq_url`, `data_dir`, `bootstrap_url?`, `bootstrap_faucet` ## Build Pré-requis: Rust stable. Compilation locale simple: ``` cargo build ``` Compilation par conteneur: voir `Dockerfile` (multi‑étapes; binaire `sdk_relay`). ## Exécution Le binaire expose: - WebSocket sur `ws_url` (ex.: `0.0.0.0:8090`) - `/health` sur `8091` renvoyant `{"status":"ok"}` ## Tests - Tests réseau: `tests/ws_connect.rs` (nécessite un service en écoute sur `SDK_RELAY_WS_URL` ou `ws://localhost:8090`) - Vérification santé: `tests/health_check.sh` ## Documentation Voir `docs/ANALYSE.md` (architecture) et `docs/VALIDATION.md` (parcours de validation et dépannage). ## Licence et contributions Voir `LICENSE`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`. ## Journal de changements Voir `CHANGELOG.md`.