zcash/contrib/docker/entrypoint.sh

59 lines
2.5 KiB
Bash
Executable File

#!/usr/bin/env bash
export LC_ALL=C
set -eo pipefail
if [[ ${1} == "--version" ]];then
zcashd --version
exit 0
fi
env | sort | grep ZCASHD || true
export ZCASHD_CMD=('zcashd' '-printtoconsole')
if [[ -z ${ZCASHD_NETWORK} ]];then
export ZCASHD_NETWORK=mainnet
fi
case ${ZCASHD_NETWORK} in
testnet)
ZCASHD_CMD+=("-testnet" "-addnode=testnet.z.cash")
;;
mainnet)
ZCASHD_CMD+=("-addnode=mainnet.z.cash")
;;
*)
echo "Error, unknown network: ${ZCASHD_NETWORK}"
exit 1
;;
esac
if [[ -n "${ZCASHD_SHOWMETRICS}" ]];then ZCASHD_CMD+=("-showmetrics=${ZCASHD_SHOWMETRICS}");fi
if [[ -n "${ZCASHD_LOGIPS}" ]];then ZCASHD_CMD+=("-logips=${ZCASHD_LOGIPS}");fi
if [[ -n "${ZCASHD_EXPERIMENTALFEATURES}" ]];then ZCASHD_CMD+=("-experimentalfeatures=${ZCASHD_EXPERIMENTALFEATURES}");fi
if [[ -n "${ZCASHD_GEN}" ]];then ZCASHD_CMD+=("-gen=${ZCASHD_GEN}");fi
if [[ -n "${ZCASHD_EQUIHASHSOLVER}" ]];then ZCASHD_CMD+=("-equihashsolver=${ZCASHD_EQUIHASHSOLVER}");fi
if [[ -n "${ZCASHD_GENPROCLIMIT}" ]];then ZCASHD_CMD+=("-genproclimit=${ZCASHD_GENPROCLIMIT}");fi
if [[ -n "${ZCASHD_ZSHIELDCOINBASE}" ]];then ZCASHD_CMD+=("-zshieldcoinbase=${ZCASHD_ZSHIELDCOINBASE}");fi
if [[ -n "${ZCASHD_RPCUSER}" ]];then ZCASHD_CMD+=("-rpcuser=${ZCASHD_RPCUSER}");fi
if [[ -n "${ZCASHD_RPCPASSWORD}" ]];then ZCASHD_CMD+=("-rpcpassword=${ZCASHD_RPCPASSWORD}");fi
if [[ -n "${ZCASHD_RPCBIND}" ]];then ZCASHD_CMD+=("-rpcbind=${ZCASHD_RPCBIND}");fi
if [[ -n "${ZCASHD_RPCPORT}" ]];then ZCASHD_CMD+=("-rpcport=${ZCASHD_RPCPORT}");fi
if [[ -n "${ZCASHD_ALLOWIP}" ]];then ZCASHD_CMD+=("-rpcallowip=${ZCASHD_ALLOWIP}");fi
if [[ -n "${ZCASHD_TXINDEX}" ]];then ZCASHD_CMD+=("-txindex");fi
if [[ -n "${ZCASHD_INSIGHTEXPLORER}" ]];then ZCASHD_CMD+=("-insightexplorer");fi
if [[ -n "${ZCASHD_PROMETHEUSPORT}" ]];then ZCASHD_CMD+=("-prometheusport=${ZCASHD_PROMETHEUSPORT}");fi
if [[ -n "${ZCASHD_METRICSIP}" ]];then ZCASHD_CMD+=("-metricsallowip=${ZCASHD_METRICSIP}");fi
if [[ -n "${ZCASHD_ZMQPORT}" && -n "${ZCASHD_ZMQBIND}" ]];then
ZCASHD_CMD+=("-zmqpubhashblock=tcp://${ZCASHD_ZMQBIND}:${ZCASHD_ZMQPORT}" \
"-zmqpubhashtx=tcp://${ZCASHD_ZMQBIND}:${ZCASHD_ZMQPORT}" \
"-zmqpubrawblock=tcp://${ZCASHD_ZMQBIND}:${ZCASHD_ZMQPORT}" \
"-zmqpubrawtx=tcp://${ZCASHD_ZMQBIND}:${ZCASHD_ZMQPORT}" \
"-zmqpubhashblock=tcp://${ZCASHD_ZMQBIND}:${ZCASHD_ZMQPORT}")
fi
zcash-fetch-params
touch .zcash/zcash.conf
echo "Starting: ${ZCASHD_CMD[*]}"
exec "${ZCASHD_CMD[@]}" "${@}"