Browse Source

Merge pull request #20 from rootzoll/master

dev
bluecell296 6 years ago
committed by GitHub
parent
commit
04e301ecd2
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 14
      FAQ.md
  2. 11
      README.md
  3. 2
      home.admin/00infoLCD.sh
  4. 1
      home.admin/00settingsMenuServices.sh
  5. 111
      home.admin/50copyHDD.sh
  6. 20
      home.admin/50torrentHDD.sh
  7. 4
      home.admin/_bootstrap.provision.sh
  8. 4
      home.admin/config.scripts/bonus.rtl.sh
  9. 24
      home.admin/config.scripts/internet.dyndomain.sh
  10. 4
      home.admin/config.scripts/network.reindex.sh
  11. BIN
      raspiblitz-v1.0-2019-02-18.torrent

14
FAQ.md

@ -506,8 +506,16 @@ When the HDD is clean, then flash a new RaspiBlitz sd card and your setup should
## My blockchain data is corrupted - what can I do? ## My blockchain data is corrupted - what can I do?
You could try to re-index, but that can take some very long time - multiple days or even weeks. You could try to re-index, but that can take some very long time - multiple days or even weeks. But there are other options:
Another option would be to delete the old blockchain and get a new one. See for details the FAQ question: [I have the full blockchain on another computer. How do I copy it to the RaspiBlitz?](FAQ.md#i-have-the-full-blockchain-on-another-computer-how-do-i-copy-it-to-the-raspiblitz). And even if you are not able to delete the data, first rename the undeletable folders and then follow the instructions. 1. Copy Blockchain from another Computer
Also make sure to check again on your power supply - it needs to deliver equal or more then 3A and should deliver a stable current. If you think your HDD is degrading - maybe this is a good time to replace it. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz) You can delete the old blockchain and get a new one. See for details the FAQ question: [I have the full blockchain on another computer. How do I copy it to the RaspiBlitz?](FAQ.md#i-have-the-full-blockchain-on-another-computer-how-do-i-copy-it-to-the-raspiblitz). And even if you are not able to delete the data, first rename the undeletable folders and then follow the instructions.
2. Re-Torrent download prepared Blockchain
You can also start a new Torrent-Download and replace the old blockchain with a new download once its finished. Go to terminal and run script `/mnt/hdd/50torrentHDD.sh`
3. Backup LND Data, make fresh Blitz, Replay LND Data
You can backup your channel and wallet data, make a complete fresh RaspiBlitz and after that one is setup you replace the LND data with your old one. Also make sure to check again on your power supply - it needs to deliver equal or more then 3A and should deliver a stable current. If you think your HDD or SD card is degrading - maybe this is a good time to replace. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz)*

11
README.md

@ -80,7 +80,12 @@ Connect the HDD to one of the USB ports. In the end your RaspiBlitz should look
Your SD-card needs to contain the RaspiBlitz software. You can take the long road by [building the SD-card image yourself](#build-the-sd-card-image) or use the already prepared SD-Card image: Your SD-card needs to contain the RaspiBlitz software. You can take the long road by [building the SD-card image yourself](#build-the-sd-card-image) or use the already prepared SD-Card image:
1. Download SD-Card image - **Version 1.0**: 1. Download SD-Card image - **Version 1.0**:
(PLEASE BE PATIENT - IMAGE v1.0 IS COMING SOON)
HTTP: http://wiki.fulmo.org/downloads/raspiblitz-v1.0-2019-02-18.img.gz
Torrent: https://github.com/rootzoll/raspiblitz/raw/master/raspiblitz-v1.0-2019-02-18.torrent
SHA-256: 99ca96d214657388305ca117e2343ead45f9d907f185bef36c712a9a3e75568f
2. Write the SD-Card image to your SD Card - if you need details, see here: 2. Write the SD-Card image to your SD Card - if you need details, see here:
https://www.raspberrypi.org/documentation/installation/installing-images/README.md https://www.raspberrypi.org/documentation/installation/installing-images/README.md
@ -103,7 +108,7 @@ When everything boots up correctly, you should see the local IP address of your
![LCD0](pictures/lcd0-welcome.png) ![LCD0](pictures/lcd0-welcome.png)
Now open up a [terminal](https://www.youtube.com/watch?v=5XgBd6rjuDQ) and connect thru SSH with the command displayed by the RaspiBlitz: Now open up a terminal ([OSX](https://www.youtube.com/watch?v=5XgBd6rjuDQ)/[Win10](https://www.youtube.com/watch?v=xIfzZXHaCzQ)) and connect thru SSH with the command displayed by the RaspiBlitz:
`ssh admin@[YOURIP]` → use password: `raspiblitz` `ssh admin@[YOURIP]` → use password: `raspiblitz`
@ -574,6 +579,8 @@ You have still more questions? Check the [RaspiBlitz-FAQ-Archive](FAQ.md).
Everybody is welcome to join, improve and extend the RaspiBlitz - its a work in progress. [Check the issues](https://github.com/rootzoll/raspiblitz/issues) if you wanna help out or add new ideas. You find the scripts used for RaspiBlitz interactions on the device at `/home/admin` or in this git repo in the subfolder `home.admin`. Everybody is welcome to join, improve and extend the RaspiBlitz - its a work in progress. [Check the issues](https://github.com/rootzoll/raspiblitz/issues) if you wanna help out or add new ideas. You find the scripts used for RaspiBlitz interactions on the device at `/home/admin` or in this git repo in the subfolder `home.admin`.
Also get inspired for a deep-dive with the original "[RaspiBolt](https://github.com/Stadicus/guides/tree/master/raspibolt)" tutorial on how to build a lightning node on the RaspberryPi which was the base work the RaspiBlitz was developed on - so much thx to Stadicus :)
Join me on twitter [@rootzoll](https://twitter.com/rootzoll), visit us at a upcomming [#lightninghackday](https://twitter.com/hashtag/LightningHackday?src=hash) or check by on of our bitcoin meetups in Berlin ... every 1st Thursday evening a month at the room77 bar - feel free to buy me a beer with lightning there :) Join me on twitter [@rootzoll](https://twitter.com/rootzoll), visit us at a upcomming [#lightninghackday](https://twitter.com/hashtag/LightningHackday?src=hash) or check by on of our bitcoin meetups in Berlin ... every 1st Thursday evening a month at the room77 bar - feel free to buy me a beer with lightning there :)
* [How can I get further help/support?](#support) * [How can I get further help/support?](#support)

2
home.admin/00infoLCD.sh

@ -198,7 +198,7 @@ while :
l2="ssh admin@${localip}\n" l2="ssh admin@${localip}\n"
l3="Waiting for AUTO-UNLOCK" l3="Waiting for AUTO-UNLOCK"
fi fi
boxwidth=$((${#localip} + 24)) boxwidth=$((${#localip} + 26))
dialog --backtitle "RaspiBlitz ${codeVersion} (${localip}) - ${hostname}" --infobox "$l1$l2$l3$l4" ${h} ${boxwidth} dialog --backtitle "RaspiBlitz ${codeVersion} (${localip}) - ${hostname}" --infobox "$l1$l2$l3$l4" ${h} ${boxwidth}
sleep 5 sleep 5
continue continue

1
home.admin/00settingsMenuServices.sh

@ -170,6 +170,7 @@ choice="off"; check=$(echo "${CHOICES}" | grep -c "5")
if [ ${check} -eq 1 ]; then choice="on"; fi if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${rtlWebinterface}" != "${choice}" ]; then if [ "${rtlWebinterface}" != "${choice}" ]; then
echo "RTL Webinterface Setting changed .." echo "RTL Webinterface Setting changed .."
anychange=1
sudo /home/admin/config.scripts/bonus.rtl.sh ${choice} sudo /home/admin/config.scripts/bonus.rtl.sh ${choice}
if [ "${choice}" = "on" ]; then if [ "${choice}" = "on" ]; then
localip=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/') localip=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/')

111
home.admin/50copyHDD.sh

@ -14,31 +14,20 @@ if [ "${setupStep}" = "100" ]; then
# make sure services are not running # make sure services are not running
echo "stopping servcies ..." echo "stopping servcies ..."
sudo systemctl stop lnd sudo systemctl stop lnd
sudo systemctl stop bitcoind sudo systemctl stop bitcoind
sudo systemctl disable bitcoind
sudo cp -f /mnt/hdd/bitcoin/bitcoin.conf /home/admin/assets/bitcoin.conf
fi fi
# delete all IN bitcoin directory but not itself if it exists
# so that possibel link to /home/bitcoin/.bitcoin nicht beschädigt wird
sudo rm -rfv /mnt/hdd/bitcoin/* 2>/dev/null
# create bitcoin base directory and link with bitcoin user # make sure /mnt/hdd/bitcoin exists
echo "delete and create new blockchain directory ..." sudo mkdir /mnt/hdd/bitcoin 2>/dev/null
sudo rm -rf /mnt/hdd/bitcoin 2>/dev/null
sudo rm -rf /home/bitcoin/.bitcoin 2>/dev/null # allow all users write to it ()
sudo mkdir /mnt/hdd/bitcoin sudo chmod 777 /mnt/hdd/bitcoin
sudo chown bitcoin:bitcoin /mnt/hdd/bitcoin
sudo ln -s /mnt/hdd/bitcoin /home/bitcoin/.bitcoin
# check setup
echo "checking setup ..."
sudo touch /home/bitcoin/.bitcoin/test.txt
createdCorerct=$(sudo ls /mnt/hdd/bitcoin/test.txt | grep -c 'test.txt')
sudo rm /home/bitcoin/.bitcoin/test.txt
if [ ${createdCorerct} -eq 0 ]; then
sudo rm -rf /mnt/hdd/bitcoin
sudo rm -rf /home/bitcoin/.bitcoin
echo "FAILED: sudo ln -s /mnt/hdd/bitcoin /home/bitcoin/.bitcoin"
echo "Press ENTER to get back to menu ..."
read key
exit 1
fi
clear clear
echo "************************************************************************************" echo "************************************************************************************"
@ -56,7 +45,7 @@ echo "blockchain data. You should see directories 'blocks', 'chainstate' & 'inde
echo "Make sure the bitcoin client on that computer is stopped." echo "Make sure the bitcoin client on that computer is stopped."
echo "" echo ""
echo "COPY, PASTE & EXECUTE the following command on the blockchain source computer:" echo "COPY, PASTE & EXECUTE the following command on the blockchain source computer:"
echo "sudo scp -r ./chainstate ./indexes ./testnet3 ./blocks bitcoin@${localip}:/home/bitcoin/.bitcoin" echo "sudo scp -r ./chainstate ./indexes ./testnet3 ./blocks bitcoin@${localip}:/mnt/hdd/bitcoin"
echo "" echo ""
echo "This command may ask you first about the admin password of the other computer (because sudo)." echo "This command may ask you first about the admin password of the other computer (because sudo)."
echo "Then it will ask for your SSH PASSWORD A from this RaspiBlitz." echo "Then it will ask for your SSH PASSWORD A from this RaspiBlitz."
@ -66,9 +55,6 @@ echo "PRESS ENTER if transfers is done OR if you want to choose another another
sleep 2 sleep 2
read key read key
# unlink bitcoin user (will created later in setup again)
sudo unlink /home/bitcoin/.bitcoin
# make quick check if data is there # make quick check if data is there
anyDataAtAll=0 anyDataAtAll=0
quickCheckOK=1 quickCheckOK=1
@ -100,42 +86,65 @@ if [ ${count} -lt 1500 ]; then
quickCheckOK=0 quickCheckOK=0
fi fi
echo "*********************************************"
echo "QUICK CHECK RESULT"
echo "*********************************************"
# just if any data transferred .. # just if any data transferred ..
if [ ${anyDataAtAll} -eq 1 ]; then if [ ${anyDataAtAll} -eq 1 ]; then
# data was invalid - ask user to keep? # data was invalid - ask user to keep?
if [ ${quickCheckOK} -eq 0 ]; then if [ ${quickCheckOK} -eq 0 ]; then
echo "*********************************************"
echo "There seems to be an invalid transfer."
echo "Wait 5 secs ..."
sleep 5
dialog --title " INVALID TRANSFER - DELETE DATA?" --yesno "Quickcheck shows the data you transferred is invalid/incomplete. This can lead further RaspiBlitz setup to get stuck in error state.\nDo you want to reset/delete data data?" 8 60
response=$?
echo "response(${response})"
case $response in
1) quickCheckOK=1 ;;
esac
fi
if [ ${quickCheckOK} -eq 0 ]; then echo "FAIL -> DATA seems incomplete."
echo "Deleting invalid Data ..."
sudo rm -rf /mnt/hdd/bitcoin else
sudo rm -rf /home/bitcoin/.bitcoin
sleep 2 echo "OK -> DATA LOOKS GOOD :D"
fi fi
else else
echo "CANCEL -> NO DATA was copied."
quickCheckOK=0
fi
echo "*********************************************"
# if started after intial setup - quit here
if [ "${setupStep}" = "100" ]; then
sudo cp /home/admin/assets/bitcoin.conf /mnt/hdd/bitcoin/bitcoin.conf
sudo chown bitcoin:bitcoin /mnt/hdd/bitcoin/bitcoin.conf
sudo systemctl enable bitcoind
echo "DONE - reboot is needed: sudo shutdown -r now"
exit 0
fi
# REACT ON QUICK CHECK DURING INITAL SETUP
if [ ${quickCheckOK} -eq 0 ]; then
echo "*********************************************"
echo "There seems to be an invalid transfer."
echo "Wait 5 secs ..."
sleep 5
dialog --title " INVALID TRANSFER - DELETE DATA?" --yesno "Quickcheck shows the data you transferred is invalid/incomplete. This can lead further RaspiBlitz setup to get stuck in error state.\nDo you want to reset/delete data data?" 8 60
response=$?
echo "response(${response})"
case $response in
1) quickCheckOK=1 ;;
esac
echo "back to menu ..." fi
# when no data transferred - just delete bitcoin base dir again
if [ ${quickCheckOK} -eq 0 ]; then
echo "Deleting invalid Data ... "
sudo rm -rf /mnt/hdd/bitcoin sudo rm -rf /mnt/hdd/bitcoin
sleep 2 sleep 2
fi fi
if [ ${setupStep} -lt 100 ]; then # setup script will decide the next logical step
# setup script will decide the next logical step /home/admin/10setupBlitz.sh
/home/admin/10setupBlitz.sh
else
"DONE - reboot is needed: sudo shutdown -r now"
fi

20
home.admin/50torrentHDD.sh

@ -255,12 +255,21 @@ if [ ${torrentError} -gt 0 ]; then
fi fi
# if setup was done - remove old data
if [ "${setupStep}" = "100" ]; then
echo "stopping servcies ..."
sudo systemctl stop lnd
sudo systemctl stop ${network}d
sudo systemctl disable ${network}d
sudo cp -f /mnt/hdd/${network}/${network}.conf /home/admin/assets/${network}.conf
sudo rm -rfv /mnt/hdd/${network}/* 2>/dev/null
fi
# Download worked / just move, copy on USB2 >4h # Download worked / just move, copy on USB2 >4h
echo "" echo ""
echo "*** Moving Files ***" echo "*** Moving Files ***"
date +%s date +%s
echo "can take some minutes... please wait" echo "can take 10-60 minutes... please wait"
sudo mkdir /mnt/hdd/${network} 2>/dev/null sudo mkdir /mnt/hdd/${network} 2>/dev/null
sudo mv ${targetPath1}/* /mnt/hdd/${network}/ sudo mv ${targetPath1}/* /mnt/hdd/${network}/
sudo cp -r ${targetPath2}/* /mnt/hdd/${network}/ sudo cp -r ${targetPath2}/* /mnt/hdd/${network}/
@ -268,7 +277,12 @@ sudo rm -r ${targetDir}
echo "OK" echo "OK"
date +%s date +%s
if [ ${setupStep} -lt 100 ]; then if [ "${setupStep}" = "100" ]; then
sudo cp /home/admin/assets/${network}.conf /mnt/hdd/${network}/${network}.conf
sudo chown -R bitcoin:bitcoin /mnt/hdd/${network}/
sudo systemctl enable ${network}d
echo "DONE - reboot needed: sudo shutdown -r now"
else
# set SetupState # set SetupState
sudo sed -i "s/^setupStep=.*/setupStep=50/g" /home/admin/raspiblitz.info sudo sed -i "s/^setupStep=.*/setupStep=50/g" /home/admin/raspiblitz.info
# continue setup # continue setup

4
home.admin/_bootstrap.provision.sh

@ -157,4 +157,8 @@ else
fi fi
sudo sed -i "s/^message=.*/message='Setup Done'/g" ${infoFile} sudo sed -i "s/^message=.*/message='Setup Done'/g" ${infoFile}
echo "DONE - Give raspi some cool off time after hard building .... 20 secs sleep" >> ${logFile}
sleep 20
echo "END Provisioning" >> ${logFile} echo "END Provisioning" >> ${logFile}

4
home.admin/config.scripts/bonus.rtl.sh

@ -46,8 +46,8 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
echo "*** Get the RTL Source Code ***" echo "*** Get the RTL Source Code ***"
git clone https://github.com/ShahanaFarooqui/RTL.git git clone https://github.com/ShahanaFarooqui/RTL.git
cd RTL cd RTL
#git reset --hard v0.1.13-alpha git reset --hard v0.2.1
git reset --hard v0.1.14-alpha #git reset --hard v0.1.14-alpha
# install # install

24
home.admin/config.scripts/internet.dyndomain.sh

@ -11,15 +11,25 @@ fi
turn="off" turn="off"
if [ "$1" = "1" ] || [ "$1" = "on" ]; then turn="on"; fi if [ "$1" = "1" ] || [ "$1" = "on" ]; then turn="on"; fi
echo "number of args($#)"
# 2. parameter [?domainName] # 2. parameter [?domainName]
dynDomain=$2 if [ $# > 1 ]; then
dynDomain=$2
fi
# 3. parameter [?domainName] # 3. parameter [?domainName]
updateDynDomain=$3 if [ $# > 2 ]; then
dynUpdateUrl=$3
fi
# run interactive if 'turn on' && no further parameters # run interactive if 'turn on' && no further parameters
if [ "${turn}" = "on" ] && [ ${#dynDomain} -eq 0 ]; then if [ "${turn}" = "on" ] && [ ${#dynDomain} -eq 0 ]; then
# make sure dialog file is writeable
sudp touch ./.tmp
sudo chmod 777 ./.tmp
dialog --backtitle "DynamicDNS" --inputbox "ENTER the Dynamic Domain Name: dialog --backtitle "DynamicDNS" --inputbox "ENTER the Dynamic Domain Name:
For more details see chapter in GitHub README For more details see chapter in GitHub README
@ -81,7 +91,15 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
# setting value in raspi blitz config # setting value in raspi blitz config
sudo sed -i "s/^dynDomain=.*/dynDomain='${dynDomain}'/g" /mnt/hdd/raspiblitz.conf sudo sed -i "s/^dynDomain=.*/dynDomain='${dynDomain}'/g" /mnt/hdd/raspiblitz.conf
sudo sed -i "s/^dynUpdateUrl=.*/dynUpdateUrl='${dynUpdateUrl}'/g" /mnt/hdd/raspiblitz.conf
# setting dynUpdateUrl is a bit cpmplicated because value can contain chars that break sed replacement
# so first remove dynUpdateUrl from config and then add fresh as new line at the end
grep -v "dynUpdateUrl" /mnt/hdd/raspiblitz.conf > ./raspiblitz.conf.new
echo "dynUpdateUrl='${dynUpdateUrl}'" >> ./raspiblitz.conf.new
sudo rm /mnt/hdd/raspiblitz.conf
sudo mv ./raspiblitz.conf.new /mnt/hdd/raspiblitz.conf
sudo chmod 777 /mnt/hdd/raspiblitz.conf
#sudo sed -i "s/^dynUpdateUrl=.*/dynUpdateUrl='${dynUpdateUrl}'/g" /mnt/hdd/raspiblitz.conf
echo "changing lnd.conf" echo "changing lnd.conf"

4
home.admin/config.scripts/network.reindex.sh

@ -50,7 +50,9 @@ while [ ${finished} -eq 0 ]
echo "REINDEXING BLOCKCHAIN" echo "REINDEXING BLOCKCHAIN"
echo "*************************" echo "*************************"
date date
echo "THIS CAN TAKE SOME LONG TIME" echo "THIS CAN TAKE SOME VERY LONG TIME"
echo "See Raspiblitz FAQ: https://github.com/rootzoll/raspiblitz"
echo "On question: My blockchain data is corrupted - what can I do?"
echo "If you dont see any progress after 24h keep X pressed to stop." echo "If you dont see any progress after 24h keep X pressed to stop."
# get blockchain sync progress # get blockchain sync progress

BIN
raspiblitz-v1.0-2019-02-18.torrent

Binary file not shown.
Loading…
Cancel
Save