mirror of
https://github.com/openoms/bitcoin-tutorials.git
synced 2025-12-19 04:54:18 +01:00
65 lines
2.2 KiB
Bash
65 lines
2.2 KiB
Bash
# Download and run this script on the RaspiBlitz:
|
|
# $ wget https://github.com/openoms/bitcoin-tutorials/raw/master/electrs/electrs_install_on_RaspiBlitz.sh && bash electrs_install_on_RaspiBlitz.sh
|
|
|
|
# https://github.com/romanz/electrs/blob/master/doc/usage.md
|
|
|
|
#echo "Type the PASSWORD B of your RaspiBlitz followed by [ENTER] (needed for Electrs to access the bitcoind RPC):"
|
|
#read PASSWORD_B
|
|
echo "getting RPC credentials from the bitcoin.conf"
|
|
RPC_USER=$(sudo cat /mnt/hdd/bitcoin/bitcoin.conf | grep rpcuser | cut -c 9-)
|
|
PASSWORD_B=$(sudo cat /mnt/hdd/bitcoin/bitcoin.conf | grep rpcpassword | cut -c 13-)
|
|
|
|
echo ""
|
|
echo "***"
|
|
echo "Installing Rust - press 1 and [ENTER] when prompted"
|
|
echo "***"
|
|
echo ""
|
|
curl https://sh.rustup.rs -sSf | sh
|
|
|
|
source $HOME/.cargo/env
|
|
sudo apt update
|
|
sudo apt install -y clang cmake # for building 'rust-rocksdb'
|
|
|
|
echo ""
|
|
echo "***"
|
|
echo "Downloading and building electrs. This will take ~30 minutes" # ~22 min on an Odroid XU4
|
|
echo "***"
|
|
echo ""
|
|
git clone https://github.com/romanz/electrs
|
|
cd electrs
|
|
cargo build --release
|
|
|
|
echo ""
|
|
echo "***"
|
|
echo "The electrs database will be built in /mnt/hdd/electrs/testnetdb. Takes ~18 hours and ~50Gb diskspace"
|
|
echo "***"
|
|
echo ""
|
|
|
|
sudo mkdir /mnt/hdd/electrs
|
|
sudo chown -R admin:admin /mnt/hdd/electrs
|
|
sudo ufw allow 60001
|
|
|
|
# generate setting file: https://github.com/romanz/electrs/issues/170#issuecomment-530080134
|
|
mkdir /home/admin/.electrs/
|
|
sudo rm /home/admin/.electrs/config.toml
|
|
touch /home/admin/.electrs/config.toml
|
|
echo "generating electrs.toml setting file with the RPC passwords"
|
|
(
|
|
echo "
|
|
verbose = 4
|
|
timestamp = true
|
|
jsonrpc_import = true
|
|
db_dir = \"/mnt/hdd/electrs/testnetdb\"
|
|
cookie = \"$RPC_USER:$PASSWORD_B\"
|
|
" | tee -a /home/admin/.electrs/config.toml
|
|
) &> /dev/null
|
|
|
|
# Run with password B filled in:
|
|
cargo run --release -- --index-batch-size=10 --db-dir /mnt/hdd/electrs/testnetdb --electrum-rpc-addr="0.0.0.0:60001" --network testnet
|
|
|
|
# to preserve settings:
|
|
# see https://github.com/romanz/electrs/blob/master/src/config.rs
|
|
# sudo nano $HOME/electrs/src/config.rs
|
|
# change the lines:
|
|
# 73: from: .takes_value(true), to: .default_value("raspibolt:PASSWORD B"),
|
|
# 132: from .default_value("Welcome to electrs (Electrum Rust Server)!") to your custom message |