
Some checks are pending
CI - 4NK_node / Unit Tests (push) Waiting to run
CI - 4NK_node / Integration Tests (push) Waiting to run
CI - 4NK_node / Code Quality (push) Waiting to run
CI - 4NK_node / Security Tests (push) Waiting to run
CI - 4NK_node / Docker Build & Test (push) Waiting to run
CI - 4NK_node / Documentation Tests (push) Waiting to run
CI - 4NK_node / Security Audit (push) Waiting to run
CI - 4NK_node / Release Guard (push) Blocked by required conditions
CI - 4NK_node / Publish Release (push) Blocked by required conditions
CI - 4NK_node / Performance Tests (push) Waiting to run
CI - 4NK_node / Notify (push) Blocked by required conditions
100 lines
2.8 KiB
Bash
Executable File
100 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
echo "🔍 Surveillance de la synchronisation entre 3 relais"
|
|
echo "=================================================="
|
|
echo ""
|
|
|
|
# Fonction pour vérifier si Bitcoin Core a terminé l'IBD
|
|
check_bitcoin_ready() {
|
|
local bitcoin_status=$(docker exec bitcoin-signet bitcoin-cli -signet getblockchaininfo 2>/dev/null | grep -o '"initialblockdownload":false' || echo "still_downloading")
|
|
if [[ "$bitcoin_status" == "still_downloading" ]]; then
|
|
return 1
|
|
else
|
|
return 0
|
|
fi
|
|
}
|
|
|
|
# Fonction pour afficher les logs de synchronisation
|
|
show_sync_logs() {
|
|
echo "📡 Logs de synchronisation des relais :"
|
|
echo "----------------------------------------"
|
|
|
|
for i in {1..3}; do
|
|
echo "🔸 Relais $i :"
|
|
docker logs sdk_relay_$i 2>&1 | grep -E "(🧪|📊|🏥|📈|🔄|🎉|❌|Relay|Sync|Mesh|Topology|🔍|✅|discover|relay)" | tail -3 || echo " Aucun message de synchronisation trouvé"
|
|
echo ""
|
|
done
|
|
}
|
|
|
|
# Fonction pour vérifier la connectivité entre relais
|
|
check_relay_connectivity() {
|
|
echo "🌐 Vérification de la connectivité entre relais :"
|
|
echo "------------------------------------------------"
|
|
|
|
for i in {1..3}; do
|
|
echo "🔸 Relais $i (port $((8090 + i - 1))) :"
|
|
if curl -s http://localhost:$((8090 + i - 1)) >/dev/null 2>&1; then
|
|
echo " ✅ Port WebSocket accessible"
|
|
else
|
|
echo " ❌ Port WebSocket non accessible"
|
|
fi
|
|
done
|
|
echo ""
|
|
}
|
|
|
|
# Fonction pour afficher les métriques de synchronisation
|
|
show_sync_metrics() {
|
|
echo "📊 Métriques de synchronisation :"
|
|
echo "--------------------------------"
|
|
|
|
for i in {1..3}; do
|
|
echo "🔸 Relais $i :"
|
|
docker logs sdk_relay_$i 2>&1 | grep -E "(SyncMetrics|known_relays|mesh_connections|sync_cache)" | tail -2 || echo " Aucune métrique trouvée"
|
|
echo ""
|
|
done
|
|
}
|
|
|
|
# Attendre que Bitcoin Core soit prêt
|
|
echo "⏳ Attente que Bitcoin Core termine le téléchargement initial..."
|
|
while ! check_bitcoin_ready; do
|
|
echo " Bitcoin Core télécharge encore les blocs..."
|
|
sleep 30
|
|
done
|
|
|
|
echo "✅ Bitcoin Core est prêt !"
|
|
echo ""
|
|
|
|
# Attendre un peu pour que les relais se stabilisent
|
|
echo "⏳ Attente de stabilisation des relais..."
|
|
sleep 10
|
|
|
|
# Boucle de surveillance
|
|
echo "🚀 Démarrage de la surveillance de synchronisation..."
|
|
echo "Appuyez sur Ctrl+C pour arrêter"
|
|
echo ""
|
|
|
|
while true; do
|
|
clear
|
|
echo "🔍 Surveillance de la synchronisation entre 3 relais"
|
|
echo "=================================================="
|
|
echo "⏰ $(date)"
|
|
echo ""
|
|
|
|
# Vérifier la connectivité
|
|
check_relay_connectivity
|
|
|
|
# Afficher les logs de synchronisation
|
|
show_sync_logs
|
|
|
|
# Afficher les métriques
|
|
show_sync_metrics
|
|
|
|
echo "🔄 Actualisation dans 30 secondes..."
|
|
sleep 30
|
|
done
|
|
|
|
|
|
|