sdk_relay/README.md

66 lines
2.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`.
### Documentation centralisée
- Voir `/home/debian/4NK_env/docs/sdk_relay/`
## Intégration dans lenvironnement 4NK
Ce service sintègre à larchitecture 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 denvironnement (pas de valeurs codées en dur). Référezvous 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)