server: remove shouldPeerBootstrap

We already set `nobootstrap` in the default node flags for itest nodes,
so we can remove this check now. This will allow us to later test
bootstrapping in an itest. NOTE that with this change, any
signet/simnet/regtest network users will now need to explicitly add the
`--nobootstrap` flag if they want to prevent automatic bootstrapping.
This warning is added to the release notes later on.
This commit is contained in:
Elle Mouton
2024-11-16 09:43:18 +02:00
parent 45c15646c6
commit 38862d3b91
2 changed files with 1 additions and 97 deletions

View File

@@ -2644,7 +2644,7 @@ func (s *server) Start(ctx context.Context) error {
// configure the set of active bootstrappers, and launch a
// dedicated goroutine to maintain a set of persistent
// connections.
if shouldPeerBootstrap(s.cfg) {
if !s.cfg.NoNetBootstrap {
bootstrappers, err := initNetworkBootstrappers(s)
if err != nil {
startErr = err
@@ -5378,20 +5378,6 @@ func newSweepPkScriptGen(
}
}
// shouldPeerBootstrap returns true if we should attempt to perform peer
// bootstrapping to actively seek our peers using the set of active network
// bootstrappers.
func shouldPeerBootstrap(cfg *Config) bool {
isSimnet := cfg.Bitcoin.SimNet
isSignet := cfg.Bitcoin.SigNet
isRegtest := cfg.Bitcoin.RegTest
isDevNetwork := isSimnet || isSignet || isRegtest
// TODO(yy): remove the check on simnet/regtest such that the itest is
// covering the bootstrapping process.
return !cfg.NoNetBootstrap && !isDevNetwork
}
// fetchClosedChannelSCIDs returns a set of SCIDs that have their force closing
// finished.
func (s *server) fetchClosedChannelSCIDs() map[lnwire.ShortChannelID]struct{} {

View File

@@ -1,82 +0,0 @@
package lnd
import (
"testing"
"github.com/lightningnetwork/lnd/lncfg"
)
// TestShouldPeerBootstrap tests that we properly skip network bootstrap for
// the developer networks, and also if bootstrapping is explicitly disabled.
func TestShouldPeerBootstrap(t *testing.T) {
t.Parallel()
testCases := []struct {
cfg *Config
shouldBoostrap bool
}{
// Simnet active, no bootstrap.
{
cfg: &Config{
Bitcoin: &lncfg.Chain{
SimNet: true,
},
},
},
// Regtest active, no bootstrap.
{
cfg: &Config{
Bitcoin: &lncfg.Chain{
RegTest: true,
},
},
},
// Signet active, no bootstrap.
{
cfg: &Config{
Bitcoin: &lncfg.Chain{
SigNet: true,
},
},
},
// Mainnet active, but bootstrap disabled, no bootstrap.
{
cfg: &Config{
Bitcoin: &lncfg.Chain{
MainNet: true,
},
NoNetBootstrap: true,
},
},
// Mainnet active, should bootstrap.
{
cfg: &Config{
Bitcoin: &lncfg.Chain{
MainNet: true,
},
},
shouldBoostrap: true,
},
// Testnet active, should bootstrap.
{
cfg: &Config{
Bitcoin: &lncfg.Chain{
TestNet3: true,
},
},
shouldBoostrap: true,
},
}
for i, testCase := range testCases {
bootstrapped := shouldPeerBootstrap(testCase.cfg)
if bootstrapped != testCase.shouldBoostrap {
t.Fatalf("#%v: expected bootstrap=%v, got bootstrap=%v",
i, testCase.shouldBoostrap, bootstrapped)
}
}
}