sdk_relay/README.md
4NK Dev 6bcec5c8ba
All checks were successful
build-and-push-ext / build_push (push) Successful in 1m24s
ci: docker_tag=ext refactor(message): split handlers per type, docs+oss, bump 0.1.1
2025-09-19 23:13:55 +00:00

45 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### sdk_relay
## Description
`sdk_relay` est un service Rust qui relaye des messages et événements autour de Bitcoin en sadossant à:
- 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`.