4NK_env/scripts/lecoffre_node/fix_relay_funds.sh
LeCoffre Deployment 43a05a2742 clean
2025-09-25 12:19:35 +00:00

65 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
echo "=== CORRECTION DES FONDS DU RELAY ==="
echo ""
# Vérification des fonds dans Bitcoin Core
echo "1. Vérification des fonds dans Bitcoin Core..."
BALANCE=$(docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="/home/bitcoin/.bitcoin/signet/.cookie" -rpcwallet="default" getbalance)
echo " Solde du wallet default: $BALANCE BTC"
# Vérification des outputs du relay
echo "2. Vérification des outputs du relay..."
OUTPUTS=$(docker exec sdk_relay cat /home/bitcoin/.4nk/default 2>/dev/null | jq -r '.outputs | length // 0' 2>/dev/null || echo "0")
echo " Nombre d'outputs détectés par le relay: $OUTPUTS"
# Vérification de l'adresse SP
echo "3. Vérification de l'adresse SP..."
SP_ADDRESS=$(docker exec sdk_relay cat /home/bitcoin/.4nk/default 2>/dev/null | jq -r '.sp_address // "null"' 2>/dev/null || echo "null")
echo " Adresse SP du relay: $SP_ADDRESS"
# Vérification de la configuration
echo "4. Vérification de la configuration..."
CONFIG_SP=$(docker exec sdk_relay cat /home/bitcoin/.conf 2>/dev/null | grep "sp_address=" | cut -d'"' -f2)
echo " Adresse SP dans la config: $CONFIG_SP"
if [ "$OUTPUTS" = "0" ] && [ "$BALANCE" != "0.00000000" ]; then
echo ""
echo "🎯 PROBLÈME IDENTIFIÉ : Le relay a des fonds dans Bitcoin Core mais ne les détecte pas !"
echo ""
echo "5. Solution : Forcer le scan des outputs..."
# Mise à jour manuelle de la configuration du relay
echo "6. Mise à jour manuelle de la configuration du relay..."
docker exec sdk_relay sh -c 'echo "{\"sp_address\":\"'$CONFIG_SP'\",\"outputs\":[],\"last_scan\":0,\"birthday\":0}" > /home/bitcoin/.4nk/default'
# Redémarrage du relay
echo "7. Redémarrage du relay..."
docker compose -f /home/debian/lecoffre_node/docker-compose.yml restart sdk_relay
# Attente
echo "8. Attente du redémarrage..."
sleep 15
# Vérification
echo "9. Vérification après correction..."
NEW_OUTPUTS=$(docker exec sdk_relay cat /home/bitcoin/.4nk/default 2>/dev/null | jq -r '.outputs | length // 0' 2>/dev/null || echo "0")
echo " Nouveau nombre d'outputs: $NEW_OUTPUTS"
if [ "$NEW_OUTPUTS" != "0" ]; then
echo "✅ SUCCÈS : Le relay détecte maintenant ses outputs !"
else
echo "❌ ÉCHEC : Le relay ne détecte toujours pas ses outputs"
echo " Solution alternative : Vérifier les logs du relay"
docker logs sdk_relay --tail 10
fi
else
echo ""
echo "✅ Le relay fonctionne correctement"
echo " - Solde Bitcoin Core: $BALANCE BTC"
echo " - Outputs détectés: $OUTPUTS"
fi
echo ""
echo "=== FIN DU DIAGNOSTIC ==="