lightninglabs / lightning-terminal

Lightning Terminal: Your Home for Lightning Liquidity
MIT License
502 stars 88 forks source link

UNABLE TO CREATE THE ACCOUNT rpc error: code = Unknown desc = no_route #654

Open vuilgesig opened 11 months ago

vuilgesig commented 11 months ago

Undescriptive error when trying to open a Pool account.

guggero commented 11 months ago

You need to be able to create a 1000 satoshi payment to obtain the L402 token that's required to access the Pool server. Do you have an open channel with sufficient balance and is your node fully synced to the LN graph?

vuilgesig commented 11 months ago

Thank you for your response, @guggero.

In response to your questions:

  1. Do you have an open channel with sufficient balance? I have multiple channels with > 1000 sats outbound balance available. Do I need to open a specific channel?
  2. Is your node fully synced to the LN graph? Yes

Here is the link to the node on Terminal: https://terminal.lightning.engineering/03dadbcd1ccac33d74b4f201b6aee154a12caa610e999c172648371bc12896d1b2/

guggero commented 11 months ago

Thanks for your answers. In that case there should be sufficient outbound capacity indeed and it's probably just a matter of not finding a valid route for some reason. Could you share your output of lncli getnetworkinfo please? We've had issues with channels being flagged as zombies and archived before which lead to portions of the network not being seen by some nodes. What version of Lightning Terminal and lnd are you running?

vuilgesig commented 11 months ago
  1. lncli getnetworkinfo

{ "graph_diameter": 14, "avg_out_degree": 4.167863949567512, "max_out_degree": 146, "num_nodes": 13642, "num_channels": 28429, "total_network_capacity": "106781334653", "avg_channel_size": 3756070.7254212247, "min_channel_size": "0", "max_channel_size": "1000000000", "median_channel_size_sat": "400000", "num_zombie_chans": "278613" }

  1. What version of and lnd are you running?
guggero commented 11 months ago

That's a lot of zombie channels. I would check your node's network connection, it looks like you might be missing a good chunk of network gossip. Are you running with the --routing.strictgraphpruning option in lnd?

You could initiate a graph re-sync by using chantools dropgraphzombies introduced in the new version v0.12.0 of chantools. But running that command will require you to stop lnd first and you'll then need to upgrade to lnd v0.17.0-beta after running it.

vuilgesig commented 11 months ago

Thank you for the insights.

I enabled --routing.strictgraphpruning, but I am hesitant to upgrade to lnd v0.17.0-beta on an Umbrel. (Unless you have advice on how to do this safely.)

Would closing inactive channels help?

guggero commented 11 months ago

Hmm... Why is it always Umbrel with these kinds of issues. I guess Tor only just doesn't give you the best view of the network. I'm not sure if you can "officially" upgrade to lnd v0.17.0-beta yet. So can't give you any advice there.

I enabled --routing.strictgraphpruning,

My suggestion would've been to turn that off if it was turned on. But then that doesn't really matter.

Would closing inactive channels help?

No, this issue isn't with your own channels, it's your node's view of the network. Basically your node thinks 278613 channels are inoperable (because it didn't receive any updates through the gossip/p2p network about them) and doesn't consider them when searching for a route (hence the no_route error).

vuilgesig commented 11 months ago

I appreciate your input.

The Umbrel node was an experiment, I think I am ready to migrate the channel to my own hardware and LND install.

Thanks for the help.

guggero commented 11 months ago

@jamaljsr would it be possible to perhaps capture this error message in the UI and give a bit more context so it doesn't appear so cryptic? I think unless we're actually sending a payment, it's safe to assume that any RPC returning "no_route" is very likely related to L402 token issues.

jamaljsr commented 11 months ago

@guggero Yes, that is doable. Going to loop in @levmi to determine how to prio this.