Browse Source

removed lnd-unlock

patch-1
Mayank 5 years ago
parent
commit
d904ba3c2c
No known key found for this signature in database GPG Key ID: D037D60476CE748C
  1. 11
      build/lnd-unlock/Dockerfile
  2. 57
      build/lnd-unlock/unlock.sh
  3. 0
      db/jwt-private-key/.gitkeep
  4. 0
      db/jwt-public-key/.gitkeep
  5. 9
      docker-compose.yml

11
build/lnd-unlock/Dockerfile

@ -1,11 +0,0 @@
FROM alpine:3.10
RUN apk add --no-cache curl jq
RUN mkdir /lnd/
COPY unlock.sh /bin/unlock
RUN chmod +x /bin/unlock
ENTRYPOINT ["unlock"]

57
build/lnd-unlock/unlock.sh

@ -1,57 +0,0 @@
#!/bin/sh
HOST=localhost:8080
TLS_CERT=/lnd/tls.cert
LNDPASSWORD_PATH=/secrets/lnd-password.txt
MACAROON_PATH=/lnd/data/chain/bitcoin/mainnet/admin.macaroon
lncurl() {
MACAROON="$(xxd -p /lnd/data/chain/bitcoin/mainnet/admin.macaroon | tr -d '\n')"
url_path=$1
data=$2
curl --fail --silent --show-error \
--cacert "${TLS_CERT}" \
--header "Grpc-Metadata-macaroon: ${MACAROON}" \
--data "${data}" \
"https://${HOST}/v1/${url_path}"
}
while true; do
# First make sure that port is open
while ! nc -z localhost 8080; do
>&2 echo "Waiting for ${HOST} port to open…"
sleep 3
done
>&2 echo "Port ${HOST} is open"
# Wait a bit more in case the port was just opened
sleep 1
if [[ -f $LNDPASSWORD_PATH ]]; then
if [[ -f $MACAROON_PATH ]]; then
>&2 echo "Password and macaroon file file exists"
PASS="$(cat /secrets/lnd-password.txt | tr -d '\n' | base64 | tr -d '\n')"
UNLOCK_PAYLOAD="$(jq -nc --arg wallet_password ${PASS} '{$wallet_password}')"
# Try getinfo then unlock
>&2 echo "Trying ${HOST}/getinfo…"
INFO=$(lncurl getinfo)
if [ "$?" = "0" ]; then
>&2 echo "Response: ${INFO}"
alias="$(echo "${INFO}" | jq '.alias')"
>&2 echo "Wallet for ${alias} unlocked!"
exit 0
fi
>&2 echo "${HOST}/getinfo FAILED, out=${INFO}"
>&2 echo "Trying ${HOST}/unlockwallet…"
RESULT=$(lncurl unlockwallet "${UNLOCK_PAYLOAD}")
>&2 echo "${HOST}/unlockwallet completed with: exit-code=$?, out=${RESULT}"
else
>&2 echo "macaroon file doesn't exist"
fi
else
>&2 echo "password file doesn't exist"
fi
sleep 30
done

0
db/jwt-private-key/.gitkeep

0
db/jwt-public-key/.gitkeep

9
docker-compose.yml

@ -55,12 +55,3 @@ services:
RPC_PASSWORD: ""
LND_NETWORK: "mainnet"
LND_HOST: "127.0.0.1"
lnd-unlock:
build: ${HOME}/build/lnd-unlock/
depends_on: [ lnd ]
logging: *default-logging
restart: always
volumes:
- "${HOME}/lnd:/lnd"
- "${HOME}/secrets:/secrets"
network_mode: host

Loading…
Cancel
Save