48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
### 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 `~/<data_dir>` (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/`
|