Lightning Network – EstimateFee – Target key of incorrect length
Background I have set up a regnet test network with two LND nodes. One is for sending money and the second (lnd2) is for creating invoices. I’m writing code that simulates a mobile app. I’m trying to calculate the current invoice payment fee and call /v2/router/route/estimatefee.
I get this error when I run the code below: ‘code’: 2, ‘message’: ‘invalid length Destination key’, ‘details’: ()
I’ll admit that the raw bytes to decode left me a bit confused. But I’m not sure if I’m entering the correct address.
import base64
import codecs
import json
import requests
r_hash="UOpjz7mxf2r5gv7MNkoEBZL84CwM3CjJI8TFfPfkInA="
payment_alias = b'02183a81bfb5ce3a221d'
payment_destination = '02183a81bfb5ce3a221d15ffa67c2a1d796746ac89f1c81850577b52ec1633e339'
payment_addr = "iDPo2lElCqV9qx0GMB0SMfraU9CGOoGU4xSTNN9hYoM="
qrinvoice = "lnbcrt7u1psa67zapp52r4x8naek9lk47vzlmxrvjsyqkf0ecpvpnwz3jfrcnzhealyyfcqdqlw3jhxapqw35xjueqda6hggr5wfujqdqcqzpgxqyz5vqsp53qe73kj3y5922ldtr5rrq8gjx8ad557sscagr98rzjfnfhmpv2ps9qyyssq2sn9wg448t083sxqzsckc2l3jt26k5zy5l8g4ufeqgg53kxhule3p7dcwmd77v324jmd4z8r87tx9fal3a47vv344qsx03pjy43m2ysqy58usq"
lnd2 = "10.142.0.21:8180"
lnd1 = "10.142.0.21:8080"
url="https:///v2/router/route/estimatefee".format(lnd1)
data =
'dest': base64.b64encode(payment_alias).decode(),
'amt_sat': 200
cert_path="./tls.cert"
macaroonhex = <a macaroon>
headers = 'Grpc-Metadata-macaroon': macaroonhex
r = requests.post(url, data=json.dumps(
data), headers=headers, verify=cert_path)
print(r.json())
User Environment Two LND nodes on Debian 10. Linux #1 SMP Debian 4.19.208-1 (2021-09-29) x86_64 GNU/Linux LND “version”: “0.14.0-beta commit=v0.14.0-beta”, Bitcoin version: 220000
Repro Steps Create an invoice. Running the above code I should get the expected action fee back but I get an error.