#!/usr/bin/env bash set -euo pipefail BITCOIN_DIR=${BITCOIN_DIR:-/bitcoin} COOKIE_FILE=${COOKIE_FILE:-$BITCOIN_DIR/signet/.cookie} RPC_HOST=${RPC_HOST:-bitcoin} RPC_PORT=${RPC_PORT:-38332} POLL_INTERVAL=${POLL_INTERVAL:-5} WATCHONLY_WALLET=${WATCHONLY_WALLET:-watchonly} MINING_WALLET=${MINING_WALLET:-mining_mnemonic} MINER_TAG=${MINER_TAG:-lecoffre} # Ajouter test_framework au PYTHONPATH export PYTHONPATH="/app/test/functional:${PYTHONPATH:-}" if [ ! -f "$COOKIE_FILE" ]; then echo "Cookie introuvable: $COOKIE_FILE" >&2 ls -la "$BITCOIN_DIR" || true exit 1 fi # Variables attendues via miner/.env # COINBASE_ADDRESS est optionnel - si non défini, une adresse sera générée automatiquement # Adresse du relay pour partager les rewards (optionnel) RELAY_ADDRESS="${RELAY_ADDRESS:-}" REWARD_SPLIT_RATIO="${REWARD_SPLIT_RATIO:-0.5}" # Lancer le miner (les options globales doivent précéder la sous-commande) MINER_CMD=( python /app/signet/miner \ --cli "bitcoin-cli -datadir=$BITCOIN_DIR -rpcconnect=$RPC_HOST -rpcport=$RPC_PORT -rpccookiefile=$COOKIE_FILE" \ generate \ --ongoing \ --min-nbits \ --WATCHONLY_WALLET "$WATCHONLY_WALLET" \ --MINING_WALLET "$MINING_WALLET" \ --MINER_TAG "$MINER_TAG" ) if [ -n "${COINBASE_ADDRESS:-}" ]; then MINER_CMD+=( --address "$COINBASE_ADDRESS" ) elif [ -n "${COINBASE_DESCRIPTOR:-}" ]; then MINER_CMD+=( --descriptor "$COINBASE_DESCRIPTOR" ) else # Générer automatiquement une adresse MINER_CMD+=( --address "auto" ) fi if [ -n "${RELAY_ADDRESS:-}" ]; then MINER_CMD+=( --relay-address "$RELAY_ADDRESS" ) fi MINER_CMD+=( --reward-split-ratio "$REWARD_SPLIT_RATIO" ) exec "${MINER_CMD[@]}"