lnd: wait until wallet is created
This commit is contained in:
parent
6f2a55d63c
commit
5536b64fb3
@ -102,7 +102,9 @@ in {
|
|||||||
then nix-bitcoin-services.allowTor
|
then nix-bitcoin-services.allowTor
|
||||||
else nix-bitcoin-services.allowAnyIP
|
else nix-bitcoin-services.allowAnyIP
|
||||||
) // nix-bitcoin-services.allowAnyProtocol; # For ZMQ
|
) // nix-bitcoin-services.allowAnyProtocol; # For ZMQ
|
||||||
postStart = ''
|
postStart = let
|
||||||
|
mainnetDir = "${cfg.dataDir}/chain/bitcoin/mainnet";
|
||||||
|
in ''
|
||||||
umask 377
|
umask 377
|
||||||
|
|
||||||
attempts=50
|
attempts=50
|
||||||
@ -112,26 +114,32 @@ in {
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [[ ! -f /secrets/lnd-seed-mnemonic ]]; then
|
if [[ ! -f /secrets/lnd-seed-mnemonic ]]; then
|
||||||
echo Creating lnd seed
|
echo Create lnd seed
|
||||||
|
|
||||||
${pkgs.curl}/bin/curl -s \
|
${pkgs.curl}/bin/curl -s \
|
||||||
--cacert /secrets/lnd_cert \
|
--cacert /secrets/lnd_cert \
|
||||||
-X GET https://127.0.0.1:8080/v1/genseed | ${pkgs.jq}/bin/jq -c '.cipher_seed_mnemonic' > /secrets/lnd-seed-mnemonic
|
-X GET https://127.0.0.1:8080/v1/genseed | ${pkgs.jq}/bin/jq -c '.cipher_seed_mnemonic' > /secrets/lnd-seed-mnemonic
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -f ${cfg.dataDir}/chain/bitcoin/mainnet/wallet.db ]]; then
|
if [[ ! -f ${mainnetDir}/wallet.db ]]; then
|
||||||
echo Creating lnd wallet
|
echo Create lnd wallet
|
||||||
|
|
||||||
${pkgs.curl}/bin/curl -s --output /dev/null --show-error \
|
${pkgs.curl}/bin/curl -s --output /dev/null --show-error \
|
||||||
--cacert /secrets/lnd_cert \
|
--cacert /secrets/lnd_cert \
|
||||||
-X POST -d "{\"wallet_password\": \"$(cat /secrets/lnd-wallet-password | tr -d '\n' | base64 -w0)\", \
|
-X POST -d "{\"wallet_password\": \"$(cat /secrets/lnd-wallet-password | tr -d '\n' | base64 -w0)\", \
|
||||||
\"cipher_seed_mnemonic\": $(cat /secrets/lnd-seed-mnemonic | tr -d '\n')}" \
|
\"cipher_seed_mnemonic\": $(cat /secrets/lnd-seed-mnemonic | tr -d '\n')}" \
|
||||||
https://127.0.0.1:8080/v1/initwallet
|
https://127.0.0.1:8080/v1/initwallet
|
||||||
|
|
||||||
|
# Guarantees that RPC calls with cfg.cli succeed after the service is started
|
||||||
|
echo Wait until wallet is created
|
||||||
|
while [[ ! -f ${mainnetDir}/admin.macaroon ]]; do
|
||||||
|
sleep 0.1
|
||||||
|
done
|
||||||
else
|
else
|
||||||
echo Unlocking lnd wallet
|
echo Unlock lnd wallet
|
||||||
|
|
||||||
${pkgs.curl}/bin/curl -s \
|
${pkgs.curl}/bin/curl -s \
|
||||||
-H "Grpc-Metadata-macaroon: $(${pkgs.xxd}/bin/xxd -ps -u -c 99999 ${cfg.dataDir}/chain/bitcoin/mainnet/admin.macaroon)" \
|
-H "Grpc-Metadata-macaroon: $(${pkgs.xxd}/bin/xxd -ps -u -c 99999 '${mainnetDir}/admin.macaroon')" \
|
||||||
--cacert /secrets/lnd_cert \
|
--cacert /secrets/lnd_cert \
|
||||||
-X POST \
|
-X POST \
|
||||||
-d "{\"wallet_password\": \"$(cat /secrets/lnd-wallet-password | tr -d '\n' | base64 -w0)\"}" \
|
-d "{\"wallet_password\": \"$(cat /secrets/lnd-wallet-password | tr -d '\n' | base64 -w0)\"}" \
|
||||||
|
Loading…
Reference in New Issue
Block a user