diff --git a/home.admin/00settingsMenuBasics.sh b/home.admin/00settingsMenuBasics.sh index ac7745659..e52a0e391 100755 --- a/home.admin/00settingsMenuBasics.sh +++ b/home.admin/00settingsMenuBasics.sh @@ -363,13 +363,13 @@ if [ "${lndNode}" != "${choice}" ]; then echo "# LND NODE Setting changed .." if [ "${choice}" = "on" ]; then echo "# turning ON" - /home/admin/config.scripts/lnd.install.sh on mainnet - sudo /home/admin/config.scripts/lnd.install.sh display-seed mainnet + /home/admin/config.scripts/lnd.install.sh on mainnet initwallet + sudo /home/admin/config.scripts/lnd.install.sh display-seed mainnet delete if [ "${testnet}" == "on" ]; then - /home/admin/config.scripts/lnd.install.sh on testnet + /home/admin/config.scripts/lnd.install.sh on testnet initwallet fi if [ "${signet}" == "on" ]; then - /home/admin/config.scripts/lnd.install.sh on signet + /home/admin/config.scripts/lnd.install.sh on signet initwallet fi else echo "# turning OFF" @@ -417,8 +417,8 @@ if [ "${testnet}" != "${choice}" ]; then /home/admin/config.scripts/bitcoin.install.sh on testnet /home/admin/config.scripts/bitcoin.install.sh on signet if [ "${lightning}" == "lnd" ] || [ "${lnd}" == "on" ]; then - /home/admin/config.scripts/lnd.install.sh on testnet - /home/admin/config.scripts/lnd.install.sh on signet + /home/admin/config.scripts/lnd.install.sh on testnet initwallet + /home/admin/config.scripts/lnd.install.sh on signet initwallet fi if [ "${lightning}" == "cln" ] || [ "${cln}" == "on" ]; then /home/admin/config.scripts/cln.install.sh on testnet diff --git a/home.admin/config.scripts/lnd.install.sh b/home.admin/config.scripts/lnd.install.sh index a3d617445..8da3af141 100644 --- a/home.admin/config.scripts/lnd.install.sh +++ b/home.admin/config.scripts/lnd.install.sh @@ -4,7 +4,9 @@ if [ $# -lt 2 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ];then echo echo "Install or remove LND services on parallel chains" - echo "lnd.install.sh [on|off|display-seed] [mainnet|testnet|signet]" + echo "lnd.install.sh on [mainnet|testnet|signet] [?initwallet]" + echo "lnd.install.sh off [mainnet|testnet|signet]" + echo "lnd.install.sh display-seed [mainnet|testnet|signet] [?delete]" echo exit 1 fi @@ -74,6 +76,12 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then exit 1 fi + initwallet=0 + if [ "$3" == "initwallet" ]; then + initwallet=1 + echo "# OK will init wallet if not exists (may ask for passwordc)" + fi + sudo ufw allow ${portprefix}9735 comment '${netprefix}lnd' sudo ufw allow ${portprefix}8080 comment '${netprefix}lnd REST' sudo ufw allow 1${rpcportmod}009 comment '${netprefix}lnd RPC' @@ -152,6 +160,30 @@ alias ${netprefix}lncli=\"sudo -u bitcoin /usr/local/bin/lncli\ -n=${CHAIN} --rpcserver localhost:1${rpcportmod}009\"\ " | sudo tee -a /home/admin/_aliases + # if parameter "initwallet" was set and wallet does not exist yet + walletExists=$(sudo ls /mnt/hdd/lnd/data/chain/${network}/${CHAIN}/wallet.db | grep -c "wallet.db") + if [ "${initwallet}" == "1" ] && [ "${walletExists}" == "0" ]; then + # only ask on mainnet for passwordC - for the testnet/signet its default 'raspiblitz' + if [ "${CHAIN}" == "mainnet" ]; then + $_temp="/var/cache/raspiblitz/temp/passwordc.tmp" + sudo /home/admin/config.scripts/blitz.setpassword.sh x "PASSWORD C - Lightning Wallet Password" $_temp + passwordC=$(sudo cat $_temp) + sudo rm $_temp + else + passwordC="raspiblitz" + fi + source <(sudo /home/admin/config.scripts/lnd.initwallet.py mainnet new ${passwordC}) + if [ "${err}" != "" ]; then + clear + echo "!!! LND mainnet wallet creation failed" + sleep 6 + else + seedFile="/mnt/hdd/lnd/data/chain/${network}/${CHAIN}/seedwords.info" + echo "seedwords='${seedwords}'" > ${seedFile} + echo "seedwords6x4='${seedwords6x4}'" >> ${seedFile} + fi + fi + echo echo "# The installed LND version is: $(sudo -u bitcoin /usr/local/bin/lnd --version)" echo @@ -192,6 +224,12 @@ if [ "$1" = "display-seed" ]; then displayNetwork="mainnet" fi + deleteSeedInfoAfterDisplay=0 + if [ "$3" == "delete" ]; then + echo "# deleting seedinfo after display" + deleteSeedInfoAfterDisplay=1 + fi + # check if seedword file exists seedwordFile="/mnt/hdd/lnd/data/chain/${network}/${CHAIN}/seedwords.info" echo "# seewordFile(${seedwordFile})" @@ -211,11 +249,14 @@ if [ "$1" = "display-seed" ]; then ack=1 fi done + if [ "${deleteSeedInfoAfterDisplay}" == "1" ]; then + echo "# deleting seed info" + sudo shred ${seedwordFile} + fi else walletFile="/mnt/hdd/lnd/data/chain/${network}/${CHAIN}/wallet.db" whiptail --title "LND ${displayNetwork} Wallet Info" --msgbox "Your LND ${displayNetwork} wallet was already created before - there are no seed words available.\n\nTo secure your wallet secret you can manually backup the file: ${walletFile}" 11 76 fi - exit 0 fi