64 lines
2.7 KiB
Bash
Executable File
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É ==="
|