build lnd from source

This commit is contained in:
rootzoll
2018-08-19 19:57:59 +02:00
parent dafe5e3a2b
commit e8ed464bac
5 changed files with 74 additions and 45 deletions

View File

@@ -10,7 +10,7 @@
echo "" echo ""
echo "***************************************" echo "***************************************"
echo "* RASPIBLITZ SD CARD IMAGE SETUP v0.6 *" echo "* RASPIBLITZ SD CARD IMAGE SETUP v0.7 *"
echo "***************************************" echo "***************************************"
echo "" echo ""
@@ -230,48 +230,76 @@ sudo mv ./getpublicip.service /etc/systemd/system/getpublicip.service
sudo systemctl enable getpublicip sudo systemctl enable getpublicip
sudo systemctl start getpublicip sudo systemctl start getpublicip
# get LND resources
cd /home/admin/download
sudo -u admin wget https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/lnd-linux-arm-v${lndVersion}.tar.gz
sudo -u admin wget https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-v${lndVersion}.txt
sudo -u admin wget https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-v${lndVersion}.txt.sig
sudo -u admin wget https://keybase.io/roasbeef/pgp_keys.asc
# test checksum # WORKAROUND: UNTIL LND 0.4.3 arm binary version is here ... we need to build from source to
checksum=$(sha256sum --check manifest-v${lndVersion}.txt --ignore-missing 2>/dev/null | grep '.tar.gz: OK' -c) # have TOR integration ... so the following is commented out for now:
if [ ${checksum} -lt 1 ]; then #
echo "" ## get LND resources
echo "!!! BUILD FAILED --> LND download checksum not OK" #cd /home/admin/download
exit 1 #sudo -u admin wget https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/lnd-linux-arm-v${lndVersion}.tar.gz
fi #sudo -u admin wget https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-v${lndVersion}.txt
#sudo -u admin wget https://github.com/lightningnetwork/lnd/releases/download/v${lndVersion}/manifest-v${lndVersion}.txt.sig
# check gpg finger print #sudo -u admin wget https://keybase.io/roasbeef/pgp_keys.asc
fingerprint=$(gpg ./pgp_keys.asc 2>/dev/null | grep "${olaoluwaPGP}" -c) ## test checksum
if [ ${fingerprint} -lt 1 ]; then #checksum=$(sha256sum --check manifest-v${lndVersion}.txt --ignore-missing 2>/dev/null | grep '.tar.gz: OK' -c)
echo "" #if [ ${checksum} -lt 1 ]; then
echo "!!! BUILD FAILED --> LND download author PGP not OK" # echo ""
exit 1 # echo "!!! BUILD FAILED --> LND download checksum not OK"
fi # exit 1
gpg --import ./pgp_keys.asc #fi
verifyResult=$(gpg --verify manifest-v${lndVersion}.txt.sig manifest-v${lndVersion}.txt 2>&1) ## check gpg finger print
goodSignature=$(echo ${verifyResult} | grep 'Good signature' -c) #fingerprint=$(gpg ./pgp_keys.asc 2>/dev/null | grep "${olaoluwaPGP}" -c)
echo "goodSignature(${goodSignature})" #if [ ${fingerprint} -lt 1 ]; then
correctKey=$(echo ${verifyResult} | grep "using RSA key ${olaoluwaPGP: -16}" -c) # echo ""
echo "correctKey(${correctKey})" # echo "!!! BUILD FAILED --> LND download author PGP not OK"
if [ ${correctKey} -lt 1 ] || [ ${goodSignature} -lt 1 ]; then # exit 1
echo "" #fi
echo "!!! BUILD FAILED --> LND PGP Verify not OK / signatute(${goodSignature}) verify(${correctKey})" #gpg --import ./pgp_keys.asc
exit 1 #verifyResult=$(gpg --verify manifest-v${lndVersion}.txt.sig manifest-v${lndVersion}.txt 2>&1)
fi #goodSignature=$(echo ${verifyResult} | grep 'Good signature' -c)
#echo "goodSignature(${goodSignature})"
# install #correctKey=$(echo ${verifyResult} | grep "using RSA key ${olaoluwaPGP: -16}" -c)
sudo -u admin tar -xzf lnd-linux-arm-v${lndVersion}.tar.gz #echo "correctKey(${correctKey})"
sudo install -m 0755 -o root -g root -t /usr/local/bin lnd-linux-arm-v${lndVersion}/* #if [ ${correctKey} -lt 1 ] || [ ${goodSignature} -lt 1 ]; then
sleep 3 # echo ""
installed=$(sudo -u admin lnd --version | grep "${lndVersion}" -c) # echo "!!! BUILD FAILED --> LND PGP Verify not OK / signatute(${goodSignature}) verify(${correctKey})"
if [ ${installed} -lt 1 ]; then # exit 1
echo "" #fi
echo "!!! BUILD FAILED --> Was not able to install LND version(${lndVersion})" ## install
#sudo -u admin tar -xzf lnd-linux-arm-v${lndVersion}.tar.gz
#sudo install -m 0755 -o root -g root -t /usr/local/bin lnd-linux-arm-v${lndVersion}/*
#sleep 3
#installed=$(sudo -u admin lnd --version | grep "${lndVersion}" -c)
#if [ ${installed} -lt 1 ]; then
# echo ""
# echo "!!! BUILD FAILED --> Was not able to install LND version(${lndVersion})"
# exit 1
#fi
## BUILDING LND FROM SOURCE
echo "*** Installing Go ***"
wget https://storage.googleapis.com/golang/go1.10.linux-armv6l.tar.gz
sudo tar -C /usr/local -xzf go1.10.linux-armv6l.tar.gz
sudo rm *.gz
sudo mkdir /usr/local/gocode
sudo chmod 777 /usr/local/gocode
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/usr/local/gocode
export PATH=$PATH:$GOPATH/bin
echo "*** Build LND from Source ***"
go get -d github.com/lightningnetwork/lnd
cd $GOPATH/src/github.com/lightningnetwork/lnd
make && make install
sudo chmod 555 /usr/local/gocode/bin/lncli
sudo chmod 555 /usr/local/gocode/bin/lnd
sudo bash -c "echo 'export PATH=$PATH:/usr/local/gocode/bin/' >> /home/admin/.bashrc"
sudo bash -c "echo 'export PATH=$PATH:/usr/local/gocode/bin/' >> /home/pi/.bashrc"
sudo bash -c "echo 'export PATH=$PATH:/usr/local/gocode/bin/' >> /home/bitcoin/.bashrc"
lndVersionCheck=$(lncli --version)
echo "LND VERSION: ${lndVersionCheck}"
if [ ${#lndVersionCheck} -eq 0 ]; then
echo "FAIL - Something went wrong with building LND from source."
echo "Sometimes it may just be a connection issue. Reset to fresh Rasbian and try again?"
exit 1 exit 1
fi fi

View File

@@ -195,7 +195,7 @@ ${color_yellow} ${color_gray}${ln_channels_online}/${ln_channels_t
${color_yellow} ${ln_external} ${color_yellow} ${ln_external}
${color_yellow} ${color_yellow}
" \ " \
"RaspiBlitz v0.6" \ "RaspiBlitz v0.7" \
"-------------------------------------------" \ "-------------------------------------------" \
"${load##up*, }" "${temp}" \ "${load##up*, }" "${temp}" \
"${hdd}" "${sync_percentage}" "${hdd}" "${sync_percentage}"

View File

@@ -93,6 +93,7 @@ while :
echo "Progress: ${progress}% (${actualSize} of ${targetSize})" echo "Progress: ${progress}% (${actualSize} of ${targetSize})"
echo "Timeout: ${timeoutInfo}" echo "Timeout: ${timeoutInfo}"
echo "If needed press key x to stop ${name}" echo "If needed press key x to stop ${name}"
echo "NOTICE: This can take multiple hours or days !!"
echo "Its OK to close terminal now and SSH back in later." echo "Its OK to close terminal now and SSH back in later."
echo "****************************************************" echo "****************************************************"
screen -S ${name} -X hardcopy .${name}.out screen -S ${name} -X hardcopy .${name}.out

View File

@@ -12,7 +12,7 @@ After=bitcoind.service
# get var PUBIP from file # get var PUBIP from file
EnvironmentFile=/run/publicip EnvironmentFile=/run/publicip
ExecStart=/usr/local/bin/lnd --externalip=${PUBLICIP} ExecStart=/usr/local/gocode/bin/lnd --externalip=${PUBLICIP}
PIDFile=/home/bitcoin/.lnd/lnd.pid PIDFile=/home/bitcoin/.lnd/lnd.pid
User=bitcoin User=bitcoin
Group=bitcoin Group=bitcoin

View File

@@ -12,7 +12,7 @@ After=bitcoind.service
# get var PUBIP from file # get var PUBIP from file
EnvironmentFile=/run/publicip EnvironmentFile=/run/publicip
ExecStart=/usr/local/bin/lnd --tor.active --tor.v2 ExecStart=/usr/local/gocode/bin/lnd --tor.active --tor.v2
PIDFile=/home/bitcoin/.lnd/lnd.pid PIDFile=/home/bitcoin/.lnd/lnd.pid
User=bitcoin User=bitcoin
Group=bitcoin Group=bitcoin