bitcoin: production-ready mainnet bitcoind for DRPC serving

Switch to bitcoin/bitcoin:31.0 with txindex and tuned RPC flags, drop the
esplora indexer sidecar, and add bitcoin-protocol health probes so fleet
status and wait-for-online work for bitcoin-family nodes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-02 13:35:16 +00:00
parent 73b65dbbc9
commit 21c01e8de8
5 changed files with 62 additions and 74 deletions

View File

@@ -54,7 +54,7 @@ for path in $pathlist; do
fi
case "$protocol" in
eth|starknet|aztec|cosmos|ripple)
eth|starknet|aztec|cosmos|ripple|bitcoin)
;;
*)
# Protocol family known from the registry but no probe support
@@ -69,10 +69,12 @@ for path in $pathlist; do
is_aztec=false
is_cosmos=false
is_ripple=false
is_bitcoin=false
[ "$protocol" = "starknet" ] && is_starknet=true
[ "$protocol" = "aztec" ] && is_aztec=true
[ "$protocol" = "cosmos" ] && is_cosmos=true
[ "$protocol" = "ripple" ] && is_ripple=true
[ "$protocol" = "bitcoin" ] && is_bitcoin=true
ref=''
if [ -n "$2" ]; then
@@ -143,6 +145,12 @@ for path in $pathlist; do
if [ -n "$chain_slug" ]; then
ref=$($BASEPATH/reference-rpc-endpoint.sh --chain "$chain_slug" 2>/dev/null) || ref=""
fi
elif $is_bitcoin; then
# Bitcoin-family (bitcoind/dogecoind): no chainid. Reference by drpc slug
# (optional — initialblockdownload is authoritative; ref only adds a head-gap check).
if [ -n "$chain_slug" ]; then
ref=$($BASEPATH/reference-rpc-endpoint.sh --chain "$chain_slug" 2>/dev/null) || ref=""
fi
else
# Ethereum chain ID detection
chain_id_response=$(curl -L --ipv4 -m 1 -s -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' $RPC_URL)
@@ -196,6 +204,8 @@ for path in $pathlist; do
timeout "$HC_TIMEOUT" $BASEPATH/check-health.sh "$RPC_URL" --cosmos $ref
elif $is_ripple; then
timeout "$HC_TIMEOUT" $BASEPATH/check-health.sh "$RPC_URL" --ripple $ref
elif $is_bitcoin; then
timeout "$HC_TIMEOUT" $BASEPATH/check-health.sh "$RPC_URL" --bitcoin $ref
else
timeout "$HC_TIMEOUT" $BASEPATH/check-health.sh "$RPC_URL" $ref
fi