66 lines
2.7 KiB
Markdown
66 lines
2.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/`
|
||
|
||
## 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`
|
||
|
||
## 📋 Fichiers centralisés
|
||
|
||
Les fichiers suivants sont centralisés dans le dépôt principal `4NK_env` :
|
||
- `CODE_OF_CONDUCT.md` - Code de conduite
|
||
- `CODEOWNERS` - Propriétaires du code
|
||
- `CONTRIBUTING.md` - Guide de contribution
|
||
- `LICENSE` - Licence du projet
|
||
|
||
Voir : [`4NK_env/CODE_OF_CONDUCT.md`](../../CODE_OF_CONDUCT.md), [`4NK_env/CODEOWNERS`](../../CODEOWNERS), [`4NK_env/CONTRIBUTING.md`](../../CONTRIBUTING.md), [`4NK_env/LICENSE`](../../LICENSE)
|