
6.1 KiB
Intégration de ihm_client dans 4NK_node
Vue d'ensemble
L'interface utilisateur ihm_client
a été intégrée avec succès dans l'infrastructure 4NK_node
, permettant une expérience utilisateur complète pour interagir avec les Silent Payments.
Architecture
Services intégrés
-
ihm_client - Interface utilisateur web
- Port: 8080
- URL: http://localhost:8080
- Technologie: TypeScript + Vite + Vue.js
-
sdk_relay_1, sdk_relay_2, sdk_relay_3 - Relais Silent Payments
- Ports: 8090-8095
- Technologie: Rust
-
bitcoin - Nœud Bitcoin Signet
- Port: 18443 (RPC)
- Technologie: Bitcoin Core
-
blindbit - Oracle Blindbit
- Port: 8000
- Technologie: Rust
Communication entre services
ihm_client (8080)
↓ HTTP/WebSocket
sdk_relay_1 (8090/8091)
↓ P2P
sdk_relay_2 (8092/8093)
↓ P2P
sdk_relay_3 (8094/8095)
↓ RPC
bitcoin (18443)
↓ API
blindbit (8000)
Configuration
Variables d'environnement
Le service ihm_client
est configuré avec les variables d'environnement suivantes :
environment:
- SDK_RELAY_WS_URL=ws://sdk_relay_1:8090
- SDK_RELAY_HTTP_URL=http://sdk_relay_1:8091
- BITCOIN_RPC_URL=http://bitcoin:18443
- BLINDBIT_URL=http://blindbit:8000
Dépendances
ihm_client
dépend desdk_relay_1
,sdk_relay_2
,sdk_relay_3
- Les SDK relays dépendent de
bitcoin
etblindbit
blindbit
dépend debitcoin
Démarrage
Script de démarrage complet
./start-4nk-node-with-ui.sh
Ce script :
- Arrête et nettoie les conteneurs existants
- Démarre tous les services
- Vérifie la santé de chaque service
- Affiche les URLs d'accès
Script de démarrage UI uniquement
./start-ihm-client.sh
Ce script démarre uniquement l'interface utilisateur.
Démarrage manuel
# Démarrer tous les services
docker-compose up -d
# Démarrer uniquement l'interface utilisateur
docker-compose up -d ihm_client
URLs d'accès
Service | URL | Description |
---|---|---|
Interface utilisateur | http://localhost:8080 | Interface web principale |
Bitcoin RPC | http://localhost:18443 | API Bitcoin |
Blindbit | http://localhost:8000 | Oracle Blindbit |
SDK Relay 1 | http://localhost:8091 | Relais 1 HTTP |
SDK Relay 2 | http://localhost:8093 | Relais 2 HTTP |
SDK Relay 3 | http://localhost:8095 | Relais 3 HTTP |
Commandes utiles
Vérification du statut
# Statut de tous les services
docker-compose ps
# Logs d'un service spécifique
docker-compose logs ihm_client
docker-compose logs sdk_relay_1
docker-compose logs bitcoin
Gestion des services
# Redémarrer un service
docker-compose restart ihm_client
# Arrêter tous les services
docker-compose down
# Reconstruire un service
docker-compose build ihm_client
Debugging
# Accéder au conteneur ihm_client
docker exec -it 4nk-ihm-client bash
# Vérifier les logs en temps réel
docker-compose logs -f ihm_client
Fonctionnalités de l'interface utilisateur
Pages principales
- Accueil - Vue d'ensemble et navigation
- Compte - Gestion du profil utilisateur
- Processus - Création et gestion des processus
- Signature - Signatures de documents
- Chat - Communication entre membres
Fonctionnalités clés
- Pairing - Connexion avec d'autres utilisateurs
- Wallet - Gestion des Silent Payments
- Documents - Validation et signature de documents
- Notifications - Système de notifications en temps réel
- QR Code - Scanner et génération de QR codes
Développement
Structure des fichiers
4NK_node/
├── ihm_client/ # Interface utilisateur
│ ├── src/ # Code source TypeScript
│ ├── public/ # Assets statiques
│ ├── Dockerfile # Configuration Docker
│ ├── nginx.conf # Configuration Nginx
│ └── start.sh # Script de démarrage
├── docker-compose.yml # Orchestration des services
└── start-*.sh # Scripts de démarrage
Compilation
L'interface utilisateur est compilée automatiquement lors du build Docker :
# Build manuel
docker-compose build ihm_client
# Build avec cache
docker-compose build --no-cache ihm_client
Développement local
Pour développer l'interface utilisateur localement :
cd ihm_client
npm install
npm run dev
Monitoring et logs
Health checks
Chaque service dispose d'un health check configuré :
- ihm_client : Vérification HTTP sur localhost
- sdk_relay : Script de vérification personnalisé
- bitcoin : Commande
getblockchaininfo
Logs
Les logs sont configurés avec rotation :
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
Sécurité
Variables d'environnement
Les variables sensibles sont configurées via les variables d'environnement Docker.
Réseau
Tous les services communiquent via le réseau Docker btcnet
isolé.
Volumes
Les données persistantes sont stockées dans des volumes Docker nommés.
Troubleshooting
Problèmes courants
-
Service ne démarre pas
docker-compose logs <service_name>
-
Port déjà utilisé
sudo netstat -tulpn | grep :8080
-
Problème de compilation
docker-compose build --no-cache ihm_client
Logs de debug
Pour activer les logs de debug :
# SDK relays
export RUST_LOG=debug
# Interface utilisateur
docker-compose logs -f ihm_client
Maintenance
Mise à jour
# Mettre à jour depuis le repository
git pull origin main
# Reconstruire les services
docker-compose build
# Redémarrer
docker-compose up -d
Sauvegarde
# Sauvegarder les volumes
docker run --rm -v 4nk_node_bitcoin_data:/data -v $(pwd):/backup alpine tar czf /backup/backup.tar.gz -C /data .
Support
Pour toute question ou problème :
- Vérifier les logs :
docker-compose logs
- Consulter la documentation :
docs/
- Créer une issue sur le repository Gitea