lightninglabs / lightninglabs/chantools
ChannelAuthProof for own channels is missing after running dropchannelgraph
- Dominant language
- Go
- Stars
- 239
- Forks
- 46
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 6
Description
I used `dropchannelgraph` with the intention to fix missing channel information that was introduced due to running with `routing.assumechanvalid=true` when I started using my node for the first time.
The command was successful and my node started synching the graph to a state that had all channel information like I wanted to. So that's awesome.
I did however notice that all my channels were missing when I ran `lncli getnodeinfo --include_channels`. The channels were present when I ran `lncli listchannels` or when I ran `getnodeinfo` with my peer's pubkey however.
At this point I asked for help on the LND slack and [guggero](https://github.com/guggero) responded. The issue has to do with the ChannelAuthProof not existing for my own channels. Causing LND to interpret my channels as unannounced and not listing them.
Normally, the ChannelAuthProof is created before the channel is publicly announced and without it the channel cannot be announced because the "proof" is needed by other nodes to verify that the channel is legitimate.
Luckily for me the proof is remembered by my peers that I share the channel with so they can do the broadcasting of the channel. But the situation is not ideal for sure.
So in part this github issue is to document the behavior of `dropchannelgraph` and also write a bit about ChannelAuthProof since google did not provide any information about it.
The other reason is to make a feature request to `dropchannelgraph` that will create the proof after adding the nodes edges. Like you (guggero) already said on slack it is a bit tricky since you need to pass the seed to sign the proofs.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the behavior with dropchannelgraph, then compare lncli getnodeinfo --include_channels with lncli listchannels and getnodeinfo for a peer. Read the ChannelAuthProof and channel announcement flow in the chantools and lnd code referenced by the issue. Done means documenting the behavior and implementing the requested proof creation after adding node edges, if feasible.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100