lnd: turn off channel validation for Neutrino by default
Downloading every block that contains a channel point takes a very long time when syncing the graph on mainnet with Neutrino. Therefore it makes sense to use routing.assumechanvalid=true since by using Neutrino a user already accepts the different trust model. Apparently the existence or meaning of the routing.assumechanvalid flag is unknown to a lot of users and is overlooked. This commit basically sets the default to routing.assumechanvalid=true for Neutrino. Because the CLI library doesn't support setting a bool value to false by the user if the default is true, we need to add an additional flag that is the inverse of the routing one, just for the case where a Neutrino user explicitly wants to turn on channel validation.
This commit is contained in:
parent
c43a9ea71f
commit
368743c9cb
11
lnd.go
11
lnd.go
@ -1569,6 +1569,17 @@ func initializeDatabases(ctx context.Context,
|
||||
func initNeutrinoBackend(cfg *Config, chainDir string) (*neutrino.ChainService,
|
||||
func(), error) {
|
||||
|
||||
// Both channel validation flags are false by default but their meaning
|
||||
// is the inverse of each other. Therefore both cannot be true. For
|
||||
// every other case, the neutrino.validatechannels overwrites the
|
||||
// routing.assumechanvalid value.
|
||||
if cfg.NeutrinoMode.ValidateChannels && cfg.Routing.AssumeChannelValid {
|
||||
return nil, nil, fmt.Errorf("can't set both " +
|
||||
"neutrino.validatechannels and routing." +
|
||||
"assumechanvalid to true at the same time")
|
||||
}
|
||||
cfg.Routing.AssumeChannelValid = !cfg.NeutrinoMode.ValidateChannels
|
||||
|
||||
// First we'll open the database file for neutrino, creating the
|
||||
// database if needed. We append the normalized network name here to
|
||||
// match the behavior of btcwallet.
|
||||
|
Loading…
Reference in New Issue
Block a user