### 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`. ### Documentation centralisée - Voir `/home/debian/4NK_env/docs/sdk_relay/` ## Intégration dans l’environnement 4NK Ce service s’intègre à l’architecture 4NK en tant que relais WebSocket et composant de synchronisation. Les URL publiques, domaines et hôtes doivent être fournis via la configuration et les variables d’environnement (pas de valeurs codées en dur). Référez‑vous aux documents centraux pour le contexte global et le déploiement: - `docs/DEEP_ARCHITECTURE_ANALYSIS.md` - `docs/TECHNICAL_REFERENCE.md` - `docs/DEPLOYMENT_GUIDE.md`