47 lines
1.9 KiB
Bash
Executable File
47 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script de monitoring des fonds du relay
|
|
# Usage: ./monitor_funds.sh [interval_seconds]
|
|
|
|
set -e
|
|
|
|
INTERVAL=${1:-30} # Intervalle de vérification en secondes (par défaut 30s)
|
|
COOKIE_FILE="/home/bitcoin/.bitcoin/signet/.cookie"
|
|
RELAY_WALLET="default"
|
|
|
|
echo "=== MONITORING DES FONDS DU RELAY ==="
|
|
echo "Intervalle de vérification: $INTERVAL secondes"
|
|
echo "Appuyez sur Ctrl+C pour arrêter"
|
|
|
|
while true; do
|
|
echo ""
|
|
echo "--- $(date) ---"
|
|
|
|
# Vérifier les fonds du relay dans la configuration
|
|
OUTPUTS_COUNT=$(docker exec sdk_relay cat /home/bitcoin/.4nk/default 2>/dev/null | jq -r '.outputs | length // 0' 2>/dev/null || echo "0")
|
|
echo "Outputs du relay: $OUTPUTS_COUNT"
|
|
|
|
# Vérifier le solde du wallet relay dans Bitcoin Core
|
|
docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" loadwallet "$RELAY_WALLET" > /dev/null 2>&1 || true
|
|
RELAY_BALANCE=$(docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" -rpcwallet="$RELAY_WALLET" getbalance 2>/dev/null || echo "0")
|
|
echo "Solde wallet relay: $RELAY_BALANCE BTC"
|
|
|
|
# Vérifier le solde du wallet mining
|
|
MINING_BALANCE=$(docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" -rpcwallet="mining_mnemonic" getbalance 2>/dev/null || echo "0")
|
|
echo "Solde wallet mining: $MINING_BALANCE BTC"
|
|
|
|
# Vérifier l'état du relay
|
|
RELAY_STATUS=$(docker compose ps sdk_relay --format "table {{.Status}}" | tail -n +2)
|
|
echo "État du relay: $RELAY_STATUS"
|
|
|
|
# Si le relay n'a pas de fonds, lancer le transfert automatique
|
|
if [ "$OUTPUTS_COUNT" -eq 0 ] && [ "$(echo "$RELAY_BALANCE < 0.001" | bc -l)" = "1" ]; then
|
|
echo "⚠️ Fonds insuffisants détectés. Lancement du transfert automatique..."
|
|
./scripts/funds/simple_transfer.sh 0.01
|
|
else
|
|
echo "✅ Fonds suffisants"
|
|
fi
|
|
|
|
sleep "$INTERVAL"
|
|
done
|