## Validation opérationnelle ### Pré‑requis - Image `git.4nkweb.com/4nk/sdk_relay:` construite par la CI (workflow `build-and-push-ext`). - Fichier de configuration accessible dans le conteneur à `/home/bitcoin/.conf` avec au minimum: `core_url`, `ws_url`, `wallet_name`, `network`, `blindbit_url`, `zmq_url`. - Ports hôtes libres: `8090` (WebSocket), `8091` (HTTP /health). ### Démarrage / Redémarrage du service 1. Arrêter l’instance en cours (si gérée via Docker/compose parent), puis démarrer avec la nouvelle image taggée `ext` (ou le tag CI calculé) en veillant à monter les volumes `/home/bitcoin/.4nk` et `/home/bitcoin/.bitcoin`. 2. Vérifier les logs de démarrage et la ligne: `Health server listening on port 8091`. ### Tests de santé - HTTP: `curl -sS http://localhost:8091/health` doit renvoyer `{"status":"ok"}` avec un code 200. ### Tests WebSocket - Connexion: ouvrir un client vers `ws://localhost:8090` (adresse selon `ws_url`). La poignée de main doit réussir. - Réception initiale: un message de type Handshake (avec adresse SP, membres et processus) est diffusé à la connexion. - Diffusion: émettre un message valide (selon protocole `sdk_common`) et vérifier qu’il est redistribué selon le `BroadcastType`. ### Parcours fonctionnel complet 1. IdNot: initialiser un identifiant et vérifier la persistance locale dans le volume `.4nk`. 2. iframe: intégrer le client (IHM) et établir la communication vers le WebSocket du `sdk_relay`. 3. Ajout de service: exécuter le flux d’ajout et confirmer la mise à jour de l’état et la diffusion côté WS. ### Attendus CI/CD - La CI construit automatiquement l’image incluant l’endpoint `/health` et pousse avec le tag calculé (préfixe commit `ci: docker_tag=...`, sinon `dev-test`). - Une fois l’image disponible (tag `ext` si prévu), redémarrer le service pour résoudre les problèmes de connexion. ### Dépannage - Port occupé: vérifier qu’aucun service n’écoute déjà sur `8090/8091`. - Conf manquante/invalide: le binaire échoue avec `Failed to find conf file` ou erreurs `No "..."`; corriger `/home/bitcoin/.conf`. - ZMQ/Blindbit: si pas joignables, les fonctionnalités associées peuvent être dégradées; le `/health` reste OK si le service tourne. - Volumes: en environnement Windows, vérifier les permissions et l’utilisateur `bitcoin`.