- Réorganisation des tests par catégorie (unit, integration, connectivity, external) - Création de scripts d'exécution automatisés pour les tests - Création de guides techniques complets (ARCHITECTURE.md, API.md) - Transfert des informations depuis specs/ vers docs/ - Nettoyage et archivage des fichiers obsolètes - Documentation complète des tests avec exemples - Scripts de maintenance et nettoyage automatique - Structure professionnelle prête pour l'évolution
88 lines
2.7 KiB
Bash
Executable File
88 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
echo "🚀 Démarrage des 3 relais avec Docker"
|
|
echo "======================================"
|
|
echo ""
|
|
|
|
# Attendre que Bitcoin Core soit prêt
|
|
echo "⏳ Attente du démarrage de Bitcoin Core..."
|
|
sleep 30
|
|
|
|
# Fonction pour démarrer un relais
|
|
start_relay() {
|
|
local relay_num=$1
|
|
local host_port=$2
|
|
local conf_file=".conf.docker.relay${relay_num}"
|
|
|
|
echo "🚀 Démarrage du relais ${relay_num}..."
|
|
|
|
docker run -d \
|
|
--name "sdk_relay_${relay_num}" \
|
|
--network 4nk_node_btcnet \
|
|
--network-alias "sdk_relay_${relay_num}" \
|
|
-p "${host_port}:8090" \
|
|
-p "$((host_port+1)):8091" \
|
|
-v bitcoin_data:/home/bitcoin/.bitcoin \
|
|
-v "/home/desk/Téléchargements/code/4NK/4NK_node/bitcoin/bitcoin.conf:/home/bitcoin/.bitcoin/bitcoin.conf" \
|
|
-v "sdk_relay_${relay_num}_data:/home/bitcoin/.4nk" \
|
|
-v "/home/desk/Téléchargements/code/4NK/4NK_node/sdk_relay/${conf_file}:/home/bitcoin/.conf.docker" \
|
|
-e RUST_LOG=debug,bitcoincore_rpc=trace \
|
|
-e HOME=/home/bitcoin \
|
|
-e BITCOIN_COOKIE_PATH=/home/bitcoin/.bitcoin/signet/.cookie \
|
|
-e ENABLE_SYNC_TEST=1 \
|
|
4nk_node_sdk_relay \
|
|
/bin/sh -c "
|
|
cp /home/bitcoin/.conf.docker /home/bitcoin/.conf &&
|
|
cp /home/bitcoin/.bitcoin/signet/.cookie /home/bitcoin/.4nk/bitcoin.cookie &&
|
|
chmod 600 /home/bitcoin/.4nk/bitcoin.cookie &&
|
|
echo 'Configuration loaded:' &&
|
|
cat /home/bitcoin/.conf &&
|
|
echo 'Testing DNS resolution:' &&
|
|
getent hosts bitcoin &&
|
|
echo 'Testing connectivity:' &&
|
|
curl -s --connect-timeout 5 http://bitcoin:18443 &&
|
|
echo 'Bitcoin accessible via curl' &&
|
|
echo 'Starting sdk_relay_${relay_num}:' &&
|
|
/usr/local/bin/sdk_relay --config .conf"
|
|
}
|
|
|
|
# Démarrer les 3 relais
|
|
start_relay 1 8090
|
|
sleep 10
|
|
|
|
start_relay 2 8092
|
|
sleep 10
|
|
|
|
start_relay 3 8094
|
|
sleep 10
|
|
|
|
echo ""
|
|
echo "📊 État des conteneurs:"
|
|
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
|
|
|
echo ""
|
|
echo "🔍 Vérification de la santé des relais..."
|
|
for i in 1 2 3; do
|
|
echo "Relais $i:"
|
|
docker exec sdk_relay_$i /usr/local/bin/healthcheck.sh 2>/dev/null || echo " ⏳ Relais $i en cours de démarrage..."
|
|
done
|
|
|
|
echo ""
|
|
echo "📡 Surveillance des logs de synchronisation..."
|
|
echo "💡 Les relais vont maintenant:"
|
|
echo " - Se découvrir mutuellement"
|
|
echo " - Partager leurs listes de relais"
|
|
echo " - Synchroniser leurs états"
|
|
echo " - Créer un réseau mesh"
|
|
echo ""
|
|
echo "🛑 Appuyez sur Ctrl+C pour arrêter la surveillance"
|
|
echo ""
|
|
|
|
# Surveillance des logs de synchronisation
|
|
docker logs -f sdk_relay_1 sdk_relay_2 sdk_relay_3 2>&1 | grep -E "(🧪|📊|🏥|📈|🔄|📈|🎉|❌|Relay|Sync|Mesh|Topology|🔍|✅)" || true
|
|
|
|
|
|
|