59 lines
1.3 KiB
Plaintext
59 lines
1.3 KiB
Plaintext
|
#!/usr/local/bin/zsh
|
||
|
|
||
|
# TODO: add rust and llvm90 to installer pkg list if rpi4 arch detected
|
||
|
# TODO: add network as argument
|
||
|
# TODO: get env vars from global settings file for RPC, etc.
|
||
|
# TODO: patch to disable compaction if settings wants that
|
||
|
|
||
|
# load rust cargo if installed from rustup
|
||
|
if [ -f "${HOME}/.cargo/env" ];then
|
||
|
source "${HOME}/.cargo/env"
|
||
|
export PATH="${HOME}/.cargo/bin:${PATH}"
|
||
|
fi
|
||
|
|
||
|
# detect architecture
|
||
|
case `uname -m` in
|
||
|
amd64)
|
||
|
export TARGET=x86_64-unknown-freebsd
|
||
|
;;
|
||
|
|
||
|
arm64)
|
||
|
# need to compile rustc with target set for rpi4 etc.
|
||
|
export TARGET=aarch64-unknown-freebsd
|
||
|
|
||
|
# NB: need to load libgcc_s.so from gcc9 instead of /lib !!
|
||
|
export LD_LIBRARY_PATH=/usr/local/lib/gcc9
|
||
|
;;
|
||
|
*)
|
||
|
echo "Error: Unknown Architecture!"
|
||
|
exit 1
|
||
|
esac
|
||
|
|
||
|
# run electrs in a loop
|
||
|
until false
|
||
|
do
|
||
|
# patch electrs source
|
||
|
# if file exists and grep contains strings, patch it
|
||
|
cd "${HOME}"/.cargo/registry/src/github.com-*/sysconf-0.3.*/
|
||
|
patch -p1 < sysconf.patch
|
||
|
|
||
|
# go home
|
||
|
cd "${HOME}/electrs"
|
||
|
cargo run \
|
||
|
--target "${TARGET}" \
|
||
|
--release \
|
||
|
--bin electrs \
|
||
|
-- \
|
||
|
-vvvv \
|
||
|
--light-mode \
|
||
|
--address-search \
|
||
|
--db-dir /electrs \
|
||
|
--daemon-dir "${HOME}" \
|
||
|
--http-addr '[::]:3000' \
|
||
|
--cookie "${BITCOIN_MAINNET_RPC_USER}:${BITCOIN_MAINNET_RPC_PASS}" \
|
||
|
--precache-scripts "${HOME}/electrs/contrib/popular-scripts.txt"
|
||
|
sleep 1
|
||
|
done
|
||
|
|
||
|
exit 0
|