35 lines
1.2 KiB
Bash
Executable File
35 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
NETWORK_FLAG="--${ELECTRUM_NETWORK}"
|
|
WALLET_PATH="/electrum/wallet/${ELECTRUM_WALLET_NAME}"
|
|
DATA_DIR="/electrum/data"
|
|
|
|
run_electrum() { electrum "${NETWORK_FLAG}" --dir "${DATA_DIR}" "$@"; }
|
|
run_electrum_offline() { electrum --offline "${NETWORK_FLAG}" --dir "${DATA_DIR}" "$@"; }
|
|
|
|
mkdir -p /electrum/wallet "${DATA_DIR}"
|
|
chmod 700 /electrum/wallet
|
|
|
|
if [[ ! -f "${WALLET_PATH}" ]]; then
|
|
echo "Creating ${ELECTRUM_NETWORK} wallet at ${WALLET_PATH}..."
|
|
|
|
run_electrum_offline create -w "${WALLET_PATH}" --password "${ELECTRUM_WALLET_PASSWORD}"
|
|
chmod 600 "${WALLET_PATH}" 2>/dev/null || true
|
|
|
|
echo "Wallet created at ${WALLET_PATH}"
|
|
fi
|
|
|
|
run_electrum_offline setconfig rpcuser "${ELECTRUM_DAEMON_RPC_USER}"
|
|
run_electrum_offline setconfig rpcpassword "${ELECTRUM_DAEMON_RPC_PASSWORD}"
|
|
run_electrum_offline setconfig rpchost 0.0.0.0
|
|
run_electrum_offline setconfig rpcport "${ELECTRUM_DAEMON_PORT}"
|
|
run_electrum_offline setconfig server "${ELECTRUM_SERVER}"
|
|
|
|
trap 'run_electrum daemon stop || true; exit 0' SIGTERM SIGINT
|
|
|
|
run_electrum daemon -d
|
|
run_electrum load_wallet -w "${WALLET_PATH}" --password "${ELECTRUM_WALLET_PASSWORD}"
|
|
|
|
sleep infinity
|