#!/bin/bash set -ex mkdir -p $HOME/.bitcoin if [ -f "$HOME/.bitcoin/bitcoin.conf" ]; then echo "Backing up bitcoin.conf" TMPEXT=$(date +%Y.%m.%d.%H.%M.%S) mv $HOME/.bitcoin/bitcoin.conf $HOME/.bitcoin/bitcoin.conf.bak.$TMPEXT fi echo "Creating bitcoin.conf" # Seed a random password for JSON RPC server cat < $HOME/.bitcoin/bitcoin.conf # # Do not modify this file as it is autogenerated. # You can either: # (a) Modify this template "btc_init" in build or # (b) You can pass a variable name as env variable during container launch # # Environmental Variable Name List # # MAINNET # TESTNET # REGTEST # MEMPOOLFULLRBF # MAXMEMPOOL # MEMPOOLEXPIRY # PERSISTMEMPOOL # MAXORPHANTX # BANTIME # SERVER # LISTEN # LISTENONION # DAEMON # TXINDEX # PRUNE # DISABLEWALLET # PRINTCONSOLE # WHITELIST # RPCUSER # RPCPASSWORD # RPCCONNECT # RPCPORT # RPCAUTH # DBCACHE # MAXCONNECTIONS # MAXUPLOADTARGET # PROXY # SEEDNODE1 # SEEDNODE2 # SEEDNODE3 # REINDEXCHAINSTATE # WALLETBROADCAST # network # Choose what network to connect to (mutually exclusive choice) mainnet=${MAINNET:-1} testnet=${TESTNET:-0} regtest=${REGTEST:-0} # Allow all transactions to be replaced by RBF by default mempoolfullrbf=${MEMPOOLFULLRBF:-1} # Max size in MB for mempool memory reserve maxmempool=${MAXMEMPOOL:-256} # Max time in hours before old mempool items expire mempoolexpiry=${MEMPOOLEXPIRY:-336} blockfilterindex=${BLOCKFILTERINDEX:-1} # Save mempool to disk on shutdown persistmempool=${PERSISTMEMPOOL:-1} # Max num of orphan tx to be kept maxorphantx=${MAXORPHANTX:-50} # Time in mins to ban bad peers bantime=${BANTIME:-86400} # Recommended to disable wallet broadcast to stop IP analytic attacks (https://stacker.news/items/543603) walletbroadcast=${WALLETBROADCAST:-0} # server server=${SERVER:-1} listen=${LISTEN:-1} listenonion=${LISTENONION:-0} daemon=${DAEMON:-0} txindex=${TXINDEX:-1} prune=${PRUNE:-0} disablewallet=${DISABLEWALLET:-1} printtoconsole=${PRINTTOCONSOLE:-1} # rpc #rpcuser=${RPCUSER:-bitcoinrpc} #rpcpassword=${RPCPASSWORD:-`dd if=/dev/urandom bs=33 count=1 2>/dev/null | base64`} rpccookiefile=.cookie #rpcconnect=${RPCCONNECT:-127.0.0.1} #rpcport=${RPCPORT:-8332} rpcauth=${RPCAUTH:-xxx} whitelist=${WHITELIST:-127.0.0.1} # performance #Max cache size of db in mb dbcache=${DBCACHE:-2000} maxconnections=${MAXCONNECTIONS:-75} maxuploadtarget=${MAXUPLOADTARGET:-5000} # tor #proxy=${PROXY:-127.0.0.1:9050} #seednode=${SEEDNODE1:-nkf5e6b7pl4jfd4a.onion} #seednode=${SEEDNODE2:-xqzfakpeuvrobvpj.onion} #seednode=${SEEDNODE3:-tsyvzsqwa2kkf6b2.onion} # validation reindex-chainstate=${REINDEXCHAINSTATE:-0} EOF cat $HOME/.bitcoin/bitcoin.conf echo "Initialization completed successfully"