Skip to content

[feature]: LND fails to sync channel graph with bitcoind blocksonly=1 #10170

@racarr202

Description

@racarr202

Is your feature request related to a problem? Please describe.
See issue #10111 for detailed background.

In short, following a node backend migration from neutrino to bitcoind, the node failed to sync the channel graph when the bitcoind instance was configured with blocksonly=1. The node hung silently, with no clear indication in the LND logs about the root cause.

Describe the solution you'd like
Either:

  1. LND detects that bitcoind is running with blocksonly=1 and issues an error message stating that the blocksonly=1 setting is incompatible with LND. Perhaps a comment indicating this setting incompatibility could also be added to the lnd builders guide.
  2. Resolve the underlying incompatibility issue if possible.

Describe alternatives you've considered
The only alternative I am aware of is for users to manually debug the issue.
A temporary workaround as proposed by @guggero was to set routing.assumechanvalid=true, but this bypasses the issue rather than solving the underlying problem.

Additional context

  • The issue was observed on lnd 0.19.1-beta with bitcoind v28.1.knots20250305.
  • A goroutine profile confirmed LND was stuck waiting on a block from bitcoind.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendRelated to the node backend software/interface (e.g. btcd, bitcoin-core)enhancementImprovements to existing features / behaviour

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions