57 lines
1.6 KiB
Bash
Executable File
57 lines
1.6 KiB
Bash
Executable File
#!/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[@]}"
|