rootzoll
7 years ago
3 changed files with 118 additions and 0 deletions
@ -0,0 +1,103 @@ |
|||||
|
#!/bin/bash |
||||
|
_temp="./download/dialog.$$" |
||||
|
_error="./.error.out" |
||||
|
|
||||
|
# load network and chain info |
||||
|
network=`cat .network` |
||||
|
chain=$(sudo -bitcoin ${network}-cli -datadir=/home/bitcoin/.${network} getblockchaininfo | jq -r '.chain') |
||||
|
|
||||
|
echo "" |
||||
|
echo "*** Precheck ***" |
||||
|
|
||||
|
# check if chain is in sync |
||||
|
chainInSync=$(lncli getinfo | grep '"synced_to_chain": true' -c) |
||||
|
if [ ${chainInSync} -eq 0 ]; then |
||||
|
echo "!!!!!!!!!!!!!!!!!!!" |
||||
|
echo "FAIL - 'lncli getinfo' shows 'synced_to_chain': false" |
||||
|
echo "Wait until chain is sync with LND and try again." |
||||
|
echo "!!!!!!!!!!!!!!!!!!!" |
||||
|
echo "" |
||||
|
exit 1 |
||||
|
fi |
||||
|
|
||||
|
|
||||
|
# check number of connected peers |
||||
|
echo "check for open channels" |
||||
|
openChannels=$(sudo -u bitcoin lncli listchannels 2>/dev/null | grep chan_id -c) |
||||
|
if [ ${openChannels} -eq 0 ]; then |
||||
|
echo "" |
||||
|
echo "!!!!!!!!!!!!!!!!!!!" |
||||
|
echo "FAIL - You have NO ESTABLISHED CHANNELS .. open a channel first." |
||||
|
echo "!!!!!!!!!!!!!!!!!!!" |
||||
|
echo "" |
||||
|
exit 1 |
||||
|
fi |
||||
|
|
||||
|
paymentRequestStart="???" |
||||
|
if [ "${network}" = "bitcoin" ]; then |
||||
|
if [ "${chain}" = "main" ]; then |
||||
|
paymentRequestStart="lnbc" |
||||
|
else |
||||
|
paymentRequestStart="lntb" |
||||
|
fi |
||||
|
elif [ "${network}" = "litecoin" ]; then |
||||
|
paymentRequestStart="lnltc" |
||||
|
fi |
||||
|
|
||||
|
testSite="???" |
||||
|
if [ "${network}" = "bitcoin" ]; then |
||||
|
if [ "${chain}" = "main" ]; then |
||||
|
testSite="https://satoshis.place" |
||||
|
else |
||||
|
testSite="https://testnet.satoshis.place" |
||||
|
fi |
||||
|
elif [ "${network}" = "litecoin" ]; then |
||||
|
testSite="https://millionlitecoinhomepage.net" |
||||
|
fi |
||||
|
|
||||
|
# let user enter the invoice |
||||
|
l1="Copy the LightningInvoice/PaymentRequest into here:" |
||||
|
l2="Its a long string starting with '${paymentRequestStart}'" |
||||
|
l3="To try it out go to: ${testSite}" |
||||
|
dialog --title "Pay thru Lightning Network" \ |
||||
|
--inputbox "$l1\n$l2\n$l3" 10 70 2>$_temp |
||||
|
invoice=$(cat $_temp | xargs) |
||||
|
shred $_temp |
||||
|
if [ ${#invoice} -eq 0 ]; then |
||||
|
echo "FAIL - not a valid input (${invoice})" |
||||
|
exit 1 |
||||
|
fi |
||||
|
|
||||
|
# build command |
||||
|
command="lncli sendpayment --pay_req=${invoice}" |
||||
|
|
||||
|
# info output |
||||
|
clear |
||||
|
echo "******************************" |
||||
|
echo "Pay Invoice / Payment Request" |
||||
|
echo "******************************" |
||||
|
echo "" |
||||
|
echo "COMMAND LINE: " |
||||
|
echo $command |
||||
|
echo "" |
||||
|
echo "RESULT:" |
||||
|
|
||||
|
# execute command |
||||
|
result=$($command 2>$_error) |
||||
|
error=`cat ${_error}` |
||||
|
|
||||
|
#echo "result(${result})" |
||||
|
#echo "error(${error})" |
||||
|
|
||||
|
if [ ${#error} -gt 0 ]; then |
||||
|
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" |
||||
|
echo "FAIL" |
||||
|
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" |
||||
|
echo "${error}" |
||||
|
else |
||||
|
echo "******************************" |
||||
|
echo "WIN" |
||||
|
echo "******************************" |
||||
|
echo "${result}" |
||||
|
fi |
||||
|
echo "" |
Loading…
Reference in new issue