Blockstream / greenlight

Build apps using self-custodial lightning nodes in the cloud
https://blockstream.github.io/greenlight/getting-started/
MIT License
106 stars 28 forks source link

Ran out of routes error #473

Open Laderlappen opened 2 weeks ago

Laderlappen commented 2 weeks ago

I'm testing on IPhone with the react native Breez sdk (v 0.3.1), Created an invoice with a new node on IPhone but I get an error when I try to pay the invoice from another device. This is the error logs:

 LOG  Breez Initialized
 LOG  event {"type":"backupStarted"}
 LOG  event {"type":"backupSucceeded"}
 LOG  event {"type":"synced"}
 LOG  event {"block":850356,"type":"newBlock"}
 LOG  event {"type":"synced"}
 LOG  event {"details":{"invoice":{"expiry":3600,"routingHints":[{"hops":[{"htlcMaximumMsat":null,"htlcMinimumMsat":null,"cltvExpiryDelta":34,"feesBaseMsat":1000,"feesProportionalMillionths":10,"shortChannelId":1099511627776,"srcNodeId":"02c811e575be2df47d8b48dab3d3f1c9b0f6e16d0d40b5ed78253308fc2bd7170d"}]}],"timestamp":1719910009,"descriptionHash":null,"paymentHash":"b8bec6cbe82b80b35f42e9872de3ecb530a329c642cd61b0a3b6bea4c4160bc6","network":"bitcoin","description":"Invoice for 2550 sats","minFinalCltvExpiryDelta":144,"payeePubkey":"03fca44b65592e49ed22ec56e47a59bae3ac446a4cdf8629d0460946f3213c8625","paymentSecret":[53,29,135,226,125,49,42,119,189,125,102,84,64,231,10,77,2,118,34,184,174,36,78,144,251,80,183,88,247,244,81,18],"amountMsat":2550000,"bolt11":"lnbc25500n1png80nedpzf9h8vmmfvdjjqen0wgsrydf4xqs8xct5wvpp5hzlvdjlg9wqtxh6zaxrjmclvk5c2x2wxgtxkrv9rk6l2f3qkp0rqxqrrsssp5x5wc0cnaxy4800tave2ypec2f5p8vg4c4cjyay8m2zm43al52yfq9qrsgqcqzysrzjqtypret4hcklglvtfrdt85l3exc0dctdp4qttmtcy5es3lpt6uts6qqqqyqqqqqqqqqqqqlgqqqqqzsqyg2sxzuqd59dy6jp8znnvlpyx47xedgfdgnqmjxsav2u5d25ztpn6xl6wsenxfh4v8vdc8sylsj3r8qrtf8nrs6fahpm3ym9yzejfk82gpxmsqn5"},"nodeId":"03fca44b65592e49ed22ec56e47a59bae3ac446a4cdf8629d0460946f3213c8625","error":"Payment timeout: status: Unknown, message: \"Error calling method Pay: RpcError { code: Some(210), message: \\\"Ran out of routes to try after 1 attempt: see `paystatus`\\\", data: None }\", details: [], metadata: MetadataMap { headers: {\"content-type\": \"application/grpc\", \"date\": \"Tue, 02 Jul 2024 08:52:31 GMT\", \"content-length\": \"0\"} }"},"type":"paymentFailed"}
 ERROR  [Error: Payment timeout: status: Unknown, message: "Error calling method Pay: RpcError { code: Some(210), message: \"Ran out of routes to try after 1 attempt: see `paystatus`\", data: None }", details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc", "date": "Tue, 02 Jul 2024 08:52:31 GMT", "content-length": "0"} }]
cdecker commented 2 weeks ago

Can you share the node_id or session_id in which you encountered this issue? 1 attempt usually means that there is no outgoing channel on the payer side. To get a channel you either have to first receive through an LSP, or add funds to your node and open a channel yourself.

Laderlappen commented 1 week ago

@cdecker I'm using the Breez-sdk (Updated the version I'm using to 0.5.0 today). They provide the channel and liquidity automatically.

Here are the node IDs The node I generated the invoice with (Newly generated with partner credentials using Breez SDK 0.5.0): 028150d04c18290460c2c007f6b4f484015eb90c4c41103d24e9d0b16714a767cd

The node I'm trying to pay the invoice with: 026b4e9c35b9cd3189c6790e9c74677ac4bc925e4021d2dd37dae4ff5cd9cfe762

Just for completeness this is what I tried today:

  1. Upgraded Breez SDK version and fixed build issues until everything compiled.
  2. Reinstalled the app on 2 android devices.
  3. Generated a new node (via Greenlight certs) on one device.
  4. Restored a node via seed phrase on another (This node has BTC in its wallet already and it has made payments in the past).
  5. Generated an invoice with the new node.
  6. Tried to pay with restored node but get the same error.
Laderlappen commented 2 days ago

@cdecker Good day! Any new findings on this ticket? Any way I can help debug?