Project and readme: https://github.com/alexbosworth/balanceofsatoshis
RaspiBlitz install script: https://github.com/raspiblitz/raspiblitz/blob/v1.6/home.admin/config.scripts/bonus.bos.sh usage:
Install Balance of Satoshis from the SERVICES menu
or on older versions:
# update NodeJS
wget https://raw.githubusercontent.com/raspiblitz/raspiblitz/v1.6/home.admin/config.scripts/bonus.nodejs.sh
bash bonus.nodejs.sh off
bash bonus.nodejs.sh on
# download bos install script
wget https://raw.githubusercontent.com/raspiblitz/raspiblitz/v1.6/home.admin/config.scripts/bonus.bos.sh
# run
bash bonus.bos.sh on
Manual installation on the RaspiBlitz:
# check and install NodeJS
/home/admin/config.scripts/bonus.nodejs.sh
# create bos user
sudo adduser --disabled-password --gecos "" bos
# set up npm-global
sudo -u bos mkdir /home/bos/.npm-global
sudo -u bos npm config set prefix '/home/bos/.npm-global'
sudo bash -c "echo 'PATH=$PATH:/home/bos/.npm-global/bin' >> /home/bos/.bashrc"
# download source code
sudo -u bos git clone https://github.com/alexbosworth/balanceofsatoshis.git /home/bos/balanceofsatoshis
cd /home/bos/balanceofsatoshis
# make sure symlink to central app-data directory exists ***"
# not a symlink.. delete it silently
sudo rm -rf /home/bos/.lnd
# create symlink
sudo ln -s "/mnt/hdd/app-data/lnd/" "/home/bos/.lnd"
# make sure rtl is member of lndadmin
sudo /usr/sbin/usermod --append --groups lndadmin bos
# install bos
sudo -u bos npm install -g balanceofsatoshis
Run from the bos user:
sudo su - bos
bos help
WARNING: the Telegram Bot will send encrypted messages about the events on your node over clearnet, which are decrypted by the central Telegram Bot API
To avoid leaking your public IP to Telegram use torify
before the bos telegram
command to route communication through Tor:
torify bos telegram
related issue: alexbosworth/balanceofsatoshis#54
-
Got to t.me/BotFather
/newbot
-
Copy the API key
-
in the terminal (in tmux if want to keep running):
torify bos telegram
-
paste the API key to the terminal
-
In your new TG bot:
/connect
-
paste the connection code to the terminal for bos.
# export the connection string
CHAIN=testnet
LAN_IP="127.0.0.1"
CERT=$(base64 /mnt/hdd/lnd/tls.cert | tr -d '\n')
MACAROON=$(sudo base64 /mnt/hdd/lnd/data/chain/bitcoin/${CHAIN}/admin.macaroon | tr -d '\n')
# L2rpcportmod is: 0 | 1 | 3
chain=${CHAIN::-3}
if [ "${chain}" == "main" ]; then
netprefix=""
L2rpcportmod=0
elif [ "${chain}" == "test" ]; then
netprefix="t"
L2rpcportmod=1
elif [ "${chain}" == "sig" ]; then
netprefix="s"
L2rpcportmod=3
fi
echo "{ \"cert\": \"$CERT\", \"macaroon\": \"$MACAROON\", \"socket\": \"$LAN_IP:1${L2rpcportmod}009\"}"
# import to bos
# choose a name to identify your node in bos
NODE_NAME="${netprefix}lnd"
# create a credential json
sudo -u bos mkdir -p /home/bos/.bos/$NODE_NAME/
# paste the connection string exported above to `/home/bos/.bos/$NODE_NAME/credentials.json` with nano or run:
echo "{ \"cert\": \"$CERT\", \"macaroon\": \"$MACAROON\", \"socket\": \"$LAN_IP:1${L2rpcportmod}009\"}" | sudo -u bos tee /home/bos/.bos/$NODE_NAME/credentials.json
# test
sudo -u bos /home/bos/.npm-global/bin/bos balance --node $NODE_NAME