|
|
@ -1,5 +1,7 @@ |
|
|
|
export APP_BITCOIN_IP="10.21.22.2" |
|
|
|
export APP_BITCOIN_NODE_IP="10.21.21.8" |
|
|
|
export APP_BITCOIN_TOR_PROXY_IP="10.21.22.10" |
|
|
|
export APP_BITCOIN_I2P_DAEMON_IP="10.21.22.11" |
|
|
|
|
|
|
|
export APP_BITCOIN_DATA_DIR="${EXPORTS_APP_DIR}/data/bitcoin" |
|
|
|
export APP_BITCOIN_RPC_PORT="8332" |
|
|
@ -13,6 +15,24 @@ export APP_BITCOIN_ZMQ_SEQUENCE_PORT="28335" |
|
|
|
BITCOIN_CHAIN="main" |
|
|
|
BITCOIN_ENV_FILE="${EXPORTS_APP_DIR}/.env" |
|
|
|
|
|
|
|
{ |
|
|
|
BITCOIN_APP_CONFIG_FILE="${EXPORTS_APP_DIR}/data/app/bitcoin-config.json" |
|
|
|
if [[ -f "${BITCOIN_APP_CONFIG_FILE}" ]] |
|
|
|
then |
|
|
|
bitcoin_app_network=$(jq -r '.network' "${BITCOIN_APP_CONFIG_FILE}") |
|
|
|
case $bitcoin_app_network in |
|
|
|
"main") |
|
|
|
BITCOIN_NETWORK="mainnet";; |
|
|
|
"test") |
|
|
|
BITCOIN_NETWORK="testnet";; |
|
|
|
"signet") |
|
|
|
BITCOIN_NETWORK="signet";; |
|
|
|
"regtest") |
|
|
|
BITCOIN_NETWORK="regtest";; |
|
|
|
esac |
|
|
|
fi |
|
|
|
} > /dev/null || true |
|
|
|
|
|
|
|
if [[ ! -f "${BITCOIN_ENV_FILE}" ]]; then |
|
|
|
if [[ -z "${BITCOIN_NETWORK}" ]]; then |
|
|
|
BITCOIN_NETWORK="mainnet" |
|
|
@ -33,35 +53,49 @@ fi |
|
|
|
|
|
|
|
. "${BITCOIN_ENV_FILE}" |
|
|
|
|
|
|
|
# Make sure we don't persist the original value in .env if we have a more recent |
|
|
|
# value from the app config |
|
|
|
{ |
|
|
|
if [[ ! -z ${BITCOIN_NETWORK+x} ]] && [[ "${BITCOIN_NETWORK}" ]] && [[ "${APP_BITCOIN_NETWORK}" ]] |
|
|
|
then |
|
|
|
APP_BITCOIN_NETWORK="${BITCOIN_NETWORK}" |
|
|
|
fi |
|
|
|
} > /dev/null || true |
|
|
|
|
|
|
|
if [[ "${APP_BITCOIN_NETWORK}" == "mainnet" ]]; then |
|
|
|
BITCOIN_CHAIN="main" |
|
|
|
elif [[ "${APP_BITCOIN_NETWORK}" == "testnet" ]]; then |
|
|
|
BITCOIN_CHAIN="test" |
|
|
|
export APP_BITCOIN_RPC_PORT="18332" |
|
|
|
export APP_BITCOIN_P2P_PORT="18333" |
|
|
|
export APP_BITCOIN_TOR_PORT="18334" |
|
|
|
# export APP_BITCOIN_RPC_PORT="18332" |
|
|
|
# export APP_BITCOIN_P2P_PORT="18333" |
|
|
|
# export APP_BITCOIN_TOR_PORT="18334" |
|
|
|
elif [[ "${APP_BITCOIN_NETWORK}" == "signet" ]]; then |
|
|
|
BITCOIN_CHAIN="signet" |
|
|
|
export APP_BITCOIN_RPC_PORT="38332" |
|
|
|
export APP_BITCOIN_P2P_PORT="38333" |
|
|
|
export APP_BITCOIN_TOR_PORT="38334" |
|
|
|
# export APP_BITCOIN_RPC_PORT="38332" |
|
|
|
# export APP_BITCOIN_P2P_PORT="38333" |
|
|
|
# export APP_BITCOIN_TOR_PORT="38334" |
|
|
|
elif [[ "${APP_BITCOIN_NETWORK}" == "regtest" ]]; then |
|
|
|
BITCOIN_CHAIN="regtest" |
|
|
|
export APP_BITCOIN_RPC_PORT="18443" |
|
|
|
export APP_BITCOIN_P2P_PORT="18444" |
|
|
|
export APP_BITCOIN_TOR_PORT="18445" |
|
|
|
# export APP_BITCOIN_RPC_PORT="18443" |
|
|
|
# export APP_BITCOIN_P2P_PORT="18444" |
|
|
|
# export APP_BITCOIN_TOR_PORT="18445" |
|
|
|
else |
|
|
|
echo "Warning (${EXPORTS_APP_ID}): Bitcoin Network '${APP_BITCOIN_NETWORK}' is not supported" |
|
|
|
fi |
|
|
|
|
|
|
|
export BITCOIN_DEFAULT_NETWORK="${BITCOIN_CHAIN}" |
|
|
|
|
|
|
|
BIN_ARGS=() |
|
|
|
BIN_ARGS+=( "-chain=${BITCOIN_CHAIN}" ) |
|
|
|
BIN_ARGS+=( "-proxy=${TOR_PROXY_IP}:${TOR_PROXY_PORT}" ) |
|
|
|
BIN_ARGS+=( "-listen" ) |
|
|
|
BIN_ARGS+=( "-bind=0.0.0.0:${APP_BITCOIN_TOR_PORT}=onion" ) |
|
|
|
BIN_ARGS+=( "-bind=${APP_BITCOIN_NODE_IP}" ) |
|
|
|
BIN_ARGS+=( "-port=${APP_BITCOIN_P2P_PORT}" ) |
|
|
|
BIN_ARGS+=( "-rpcport=${APP_BITCOIN_RPC_PORT}" ) |
|
|
|
# Commenting out options that are replaced by generated config file. We should migrate all these over in a future update. |
|
|
|
# BIN_ARGS+=( "-chain=${BITCOIN_CHAIN}" ) |
|
|
|
# BIN_ARGS+=( "-proxy=${TOR_PROXY_IP}:${TOR_PROXY_PORT}" ) |
|
|
|
# BIN_ARGS+=( "-listen" ) |
|
|
|
# BIN_ARGS+=( "-bind=0.0.0.0:${APP_BITCOIN_TOR_PORT}=onion" ) |
|
|
|
# BIN_ARGS+=( "-bind=${APP_BITCOIN_NODE_IP}" ) |
|
|
|
# BIN_ARGS+=( "-port=${APP_BITCOIN_P2P_PORT}" ) |
|
|
|
# BIN_ARGS+=( "-rpcport=${APP_BITCOIN_RPC_PORT}" ) |
|
|
|
BIN_ARGS+=( "-port=8333" ) |
|
|
|
BIN_ARGS+=( "-rpcport=8332" ) |
|
|
|
BIN_ARGS+=( "-rpcbind=${APP_BITCOIN_NODE_IP}" ) |
|
|
|
BIN_ARGS+=( "-rpcbind=127.0.0.1" ) |
|
|
|
BIN_ARGS+=( "-rpcallowip=${NETWORK_IP}/16" ) |
|
|
@ -90,4 +124,26 @@ export APP_BITCOIN_P2P_HIDDEN_SERVICE="$(cat "${p2p_hidden_service_file}" 2>/dev |
|
|
|
export APP_BITCOIN_NETWORK_ELECTRS=$APP_BITCOIN_NETWORK |
|
|
|
if [[ "${APP_BITCOIN_NETWORK_ELECTRS}" = "mainnet" ]]; then |
|
|
|
APP_BITCOIN_NETWORK_ELECTRS="bitcoin" |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
{ |
|
|
|
# Migrate settings for app updates differently to fresh installs |
|
|
|
BITCOIN_INSTALL_EXISTS="false" |
|
|
|
BITCOIN_DATA_DIR="${EXPORTS_APP_DIR}/data/bitcoin" |
|
|
|
if [[ -d "${BITCOIN_DATA_DIR}/blocks" ]] || [[ -d "${BITCOIN_DATA_DIR}/testnet3/blocks" ]] || [[ -d "${BITCOIN_DATA_DIR}/regtest/blocks" ]] |
|
|
|
then |
|
|
|
BITCOIN_INSTALL_EXISTS="true" |
|
|
|
fi |
|
|
|
|
|
|
|
APP_CONFIG_EXISTS="false" |
|
|
|
if [[ -f "${EXPORTS_APP_DIR}/data/app/bitcoin-config.json" ]] |
|
|
|
then |
|
|
|
APP_CONFIG_EXISTS="true" |
|
|
|
fi |
|
|
|
|
|
|
|
if [[ "${BITCOIN_INSTALL_EXISTS}" = "true" ]] && [[ "${APP_CONFIG_EXISTS}" = "false" ]] |
|
|
|
then |
|
|
|
# This app is not a fresh install, it's being updated, so preserve existing clearnet over Tor setting |
|
|
|
export BITCOIN_INITIALIZE_WITH_CLEARNET_OVER_TOR="true" |
|
|
|
fi |
|
|
|
} || true |