Christian Rotzoll
6 years ago
3 changed files with 2 additions and 103 deletions
@ -1,101 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
source /home/admin/raspiblitz.info |
|||
source /mnt/hdd/raspiblitz.conf |
|||
|
|||
### USER PI AUTOSTART (LCD Display) |
|||
localip=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/') |
|||
|
|||
# parse the actual scanned height progress from LND logs |
|||
item=0 |
|||
blockchaininfo=$(sudo -u bitcoin ${network}-cli -datadir=/home/bitcoin/.${network} getblockchaininfo) |
|||
chain="$(echo "${blockchaininfo}" | jq -r '.chain')" |
|||
|
|||
## TRY to get the actual progress height of scanning |
|||
|
|||
# 1) First try the "Rescanned through block" - it seems to happen if it restarts |
|||
item=$(sudo -u bitcoin tail -n 100 /mnt/hdd/lnd/logs/${network}/${chain}net/lnd.log | grep "Rescanned through block" | tail -n1 | cut -d ']' -f2 | cut -d '(' -f2 | tr -dc '0-9') |
|||
action="Rescanning" |
|||
|
|||
# 2) Second try the "Caught up to height" - thats the usual on first scan start |
|||
if [ ${#item} -eq 0 ]; then |
|||
item=$(sudo -u bitcoin tail -n 100 /mnt/hdd/lnd/logs/${network}/${chain}net/lnd.log | grep "Caught up to height" | tail -n1 | cut -d ']' -f2 | tr -dc '0-9') |
|||
action="Catching-Up" |
|||
fi |
|||
|
|||
# 3) Third try the "LNWL: Filtering block" - thats the usual on later starts |
|||
if [ ${#item} -eq 0 ]; then |
|||
item=$(sudo -u bitcoin tail -n 100 /mnt/hdd/lnd/logs/${network}/${chain}net/lnd.log | grep "LNWL: Filtering block" | tail -n1 | cut -d ' ' -f7 | tr -dc '0-9') |
|||
action="Filtering" |
|||
fi |
|||
|
|||
# if no progress info |
|||
online=1 |
|||
if [ ${#item} -eq 0 ]; then |
|||
item="?" |
|||
|
|||
# check if offline |
|||
online=$(ping 1.0.0.1 -c 1 -W 2 | grep -c '1 received') |
|||
if [ ${online} -eq 0 ]; then |
|||
# re-test with other server |
|||
online=$(ping 8.8.8.8 -c 1 -W 2 | grep -c '1 received') |
|||
fi |
|||
if [ ${online} -eq 0 ]; then |
|||
# re-test with other server |
|||
online=$(ping 208.67.222.222 -c 1 -W 2 | grep -c '1 received') |
|||
fi |
|||
|
|||
fi |
|||
|
|||
# get total number of blocks |
|||
total=$(echo "${blockchaininfo}" | jq -r '.blocks') |
|||
# put scanstate |
|||
scanstate="${item}/${total}" |
|||
|
|||
# get blockchain sync progress |
|||
progress="$(echo "${blockchaininfo}" | jq -r '.verificationprogress')" |
|||
#progress=$(echo "${progress}*100" | bc) |
|||
progress=$(echo $progress | awk '{printf( "%.2f%%", 100 * $1)}') |
|||
|
|||
# check if blockchain is still syncing |
|||
heigh=6 |
|||
width=44 |
|||
isInitialChainSync=$(echo "${blockchaininfo}" | grep 'initialblockdownload' | grep "true" -c) |
|||
isWaitingBlockchain=$( sudo -u bitcoin tail -n 2 /mnt/hdd/lnd/logs/${network}/${chain}net/lnd.log | grep "Waiting for chain backend to finish sync" -c ) |
|||
if [ ${isWaitingBlockchain} -gt 0 ]; then |
|||
isInitialChainSync=1 |
|||
fi |
|||
if [ ${online} -eq 0 ]; then |
|||
heigh=7 |
|||
width=44 |
|||
infoStr=$(echo " Waiting INTERNET CONNECTION\n RaspiBlitz cannot ping 1.0.0.1\n Local IP is ${localip}\n Please check cables and router.") |
|||
elif [ ${isInitialChainSync} -gt 0 ]; then |
|||
heigh=7 |
|||
infoStr=" Waiting for final Blockchain Sync\n Progress: ${progress} \n Please wait - this can take some time.\n ssh admin@${localip}\n Password A" |
|||
if [ "$USER" = "admin" ]; then |
|||
heigh=6 |
|||
width=53 |
|||
infoStr=$(echo " Waiting for final Blockchain Sync\n Progress: ${progress} %\n Please wait - this can take some long time.\n Its OK to close terminal and ssh back in later.") |
|||
fi |
|||
else |
|||
heigh=7 |
|||
# check if wallet has any UTXO |
|||
# reason see: https://github.com/lightningnetwork/lnd/issues/2326 |
|||
txlines=$(sudo -u bitcoin lncli listchaintxns 2>/dev/null | wc -l) |
|||
# has just 4 lines if empty |
|||
if [ ${txlines} -eq 4 ]; then |
|||
infoStr=$(echo " Lightning ${action} Blockchain\n Progress: ${scanstate}\n re-rescan every start until funding\n ssh admin@${localip}\n Password A") |
|||
else |
|||
infoStr=$(echo " Lightning ${action} Blockchain\n Progress: ${scanstate}\n Please wait - this can take some time\n ssh admin@${localip}\n Password A") |
|||
if [ "$USER" = "admin" ]; then |
|||
heigh=6 |
|||
width=53 |
|||
infoStr=$(echo " Lightning ${action} Blockchain\n Progress: ${scanstate}\n Please wait - this can take some long time.\n Its OK to close terminal and ssh back in later.") |
|||
fi |
|||
fi |
|||
fi |
|||
|
|||
# display progress to user |
|||
sleep 3 |
|||
temp=$(echo "scale=1; $(cat /sys/class/thermal/thermal_zone0/temp)/1000" | bc) |
|||
dialog --title " ${network} / ${chain} " --backtitle "RaspiBlitz (${hostname}) CPU: ${temp}°C" --infobox "${infoStr}" ${heigh} ${width} |
Loading…
Reference in new issue