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

64 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
# Script simplifié de transfert de fonds
set -e
MINING_WALLET="mining_mnemonic"
RELAY_WALLET="default"
COOKIE_FILE="/home/bitcoin/.bitcoin/signet/.cookie"
AMOUNT=${1:-0.01}
echo "=== TRANSFERT SIMPLE DE FONDS ==="
echo "Montant: $AMOUNT BTC"
# Vérifier la connectivité
echo "Vérification de la connectivité Bitcoin..."
if ! docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" getblockchaininfo > /dev/null 2>&1; then
echo "ERREUR: Impossible de se connecter au nœud Bitcoin"
exit 1
fi
# Vérifier le solde du wallet mining
echo "Vérification du solde du wallet mining..."
MINING_BALANCE=$(docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" -rpcwallet="$MINING_WALLET" getbalance 2>/dev/null || echo "0")
echo "Solde wallet mining: $MINING_BALANCE BTC"
# Charger le wallet relay
echo "Chargement du wallet relay..."
docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" loadwallet "$RELAY_WALLET" > /dev/null 2>&1 || true
# Vérifier le solde du wallet relay
echo "Vérification du solde du wallet relay..."
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"
# Si le relay a déjà des fonds, ne pas transférer
if [ "$(echo "$RELAY_BALANCE > 0" | bc -l)" = "1" ]; then
echo "Forçage d'un nouveau transfert pour créer des outputs..."
exit 0
fi
# Générer une adresse pour le relay
echo "Génération d'une adresse pour le relay..."
RELAY_ADDRESS=$(docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" -rpcwallet="$RELAY_WALLET" getnewaddress "relay_funding" 2>/dev/null)
echo "Adresse générée: $RELAY_ADDRESS"
# Effectuer le transfert
echo "Transfert de $AMOUNT BTC vers $RELAY_ADDRESS..."
TXID=$(docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" -rpcwallet="$MINING_WALLET" sendtoaddress "$RELAY_ADDRESS" "$AMOUNT" 2>/dev/null)
echo "Transaction ID: $TXID"
# Générer des blocs pour confirmer
echo "Génération de blocs pour confirmer la transaction..."
docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" -rpcwallet="$MINING_WALLET" generatetoaddress 6 "$RELAY_ADDRESS" > /dev/null 2>&1
# Vérifier les confirmations
CONFIRMATIONS=$(docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile="$COOKIE_FILE" -rpcwallet="$MINING_WALLET" gettransaction "$TXID" 2>/dev/null | jq -r '.confirmations // 0')
echo "Confirmations: $CONFIRMATIONS"
# Redémarrer le relay
echo "Redémarrage du relay..."
docker compose restart sdk_relay
echo "=== TRANSFERT TERMINÉ ==="