#!/usr/bin/env bash set -euo pipefail LOG_DIR="tests/logs" mkdir -p "$LOG_DIR" TS=$(date +%Y%m%d_%H%M%S) LOG_FILE="$LOG_DIR/retry_signet_sync_$TS.log" echo "[retry] Démarrage $(date -Is)" | tee -a "$LOG_FILE" ONION=$(awk -F= '/^addnode=/{print $2}' bitcoin/bitcoin.conf | head -n1 || true) echo "[retry] onion=$ONION" | tee -a "$LOG_FILE" for i in $(seq 1 30); do CNT=$(sudo docker exec bitcoin-signet bitcoin-cli -signet getconnectioncount 2>/dev/null || echo 0) echo "[$(date -Is)] iter=$i connections=$CNT" | tee -a "$LOG_FILE" if [ "$CNT" -gt 0 ]; then echo "[retry] Connexions établies, arrêt de la boucle." | tee -a "$LOG_FILE" exit 0 fi if [ -n "$ONION" ]; then sudo docker exec bitcoin-signet bitcoin-cli -signet addnode ${ONION}:38333 onetry >/dev/null 2>&1 || true echo "[$(date -Is)] onetry envoyé" | tee -a "$LOG_FILE" fi sleep 10 done echo "[retry] Connexions non établies après 30 tentatives." | tee -a "$LOG_FILE" exit 1