server: extract bootstrap logic into new function w/ unit test

This commit is contained in:
Olaoluwa Osuntokun committed 2021-08-04 18:30:20 -07:00
1 parent 6b1696c4f2
commit 673acd781d
2 files changed
+96 -5

No files matched your search

+13 -5
View File
@@ -1788,11 +1788,7 @@ func (s *server) Start() error {
// configure the set of active bootstrappers, and launch a
// dedicated goroutine to maintain a set of persistent
// connections.
isSimnet := (s.cfg.Bitcoin.SimNet || s.cfg.Litecoin.SimNet)
isSignet := (s.cfg.Bitcoin.SigNet || s.cfg.Litecoin.SigNet)
isRegtest := (s.cfg.Bitcoin.RegTest || s.cfg.Litecoin.RegTest)
isDevNetwork := isSimnet || isSignet || isRegtest
if !s.cfg.NoNetBootstrap && !isDevNetwork {
if shouldPeerBootstrap(s.cfg) {
bootstrappers, err := initNetworkBootstrappers(s)
if err != nil {
startErr = err
@@ -3964,3 +3960,15 @@ func newSweepPkScriptGen(
return txscript.PayToAddrScript(sweepAddr)
}
}
// shouldPeerBootstrap returns true if we should attempt to perform peer
// boostrapping to actively seek our peers using the set of active network
// bootsrappers.
func shouldPeerBootstrap(cfg *Config) bool {
isSimnet := (cfg.Bitcoin.SimNet || cfg.Litecoin.SimNet)
isSignet := (cfg.Bitcoin.SigNet || cfg.Litecoin.SigNet)
isRegtest := (cfg.Bitcoin.RegTest || cfg.Litecoin.RegTest)
isDevNetwork := isSimnet || isSignet || isRegtest
return !cfg.NoNetBootstrap && !isDevNetwork
}