59 lines
1.3 KiB
Bash
Executable File
59 lines
1.3 KiB
Bash
Executable File
#!/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
|