From 0df01af53823dce785e49517e2fecd63eb7a518d Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 11 Apr 2017 01:18:26 +0200 Subject: [PATCH] p2p: use discovery by default This makes the zero Config slightly more useful. It also fixes package node tests because Node detects reuse of the datadir through the NodeDatabase. --- cmd/geth/config.go | 11 ++++------- cmd/utils/flags.go | 4 ++-- cmd/wnode/main.go | 1 - mobile/geth.go | 1 - p2p/server.go | 10 +++++----- 5 files changed, 11 insertions(+), 16 deletions(-) diff --git a/cmd/geth/config.go b/cmd/geth/config.go index b57f61edce..16c4d6959a 100644 --- a/cmd/geth/config.go +++ b/cmd/geth/config.go @@ -54,13 +54,10 @@ var ( ) var defaultNodeConfig = node.Config{ - Name: clientIdentifier, - Version: params.VersionWithCommit(gitCommit), - DataDir: node.DefaultDataDir(), - P2P: p2p.Config{ - MaxPeers: 25, - Discovery: true, - }, + Name: clientIdentifier, + Version: params.VersionWithCommit(gitCommit), + DataDir: node.DefaultDataDir(), + P2P: p2p.Config{MaxPeers: 25}, HTTPModules: []string{"eth", "net", "web3"}, WSModules: []string{"eth", "net", "web3"}, } diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 344fdb313e..75e0f85e0f 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -695,7 +695,7 @@ func SetP2PConfig(ctx *cli.Context, cfg *p2p.Config) { cfg.MaxPendingPeers = ctx.GlobalInt(MaxPendingPeersFlag.Name) } if ctx.GlobalIsSet(NoDiscoverFlag.Name) || ctx.GlobalBool(LightModeFlag.Name) { - cfg.Discovery = false + cfg.NoDiscovery = true } // if we're running a light client or server, force enable the v5 peer discovery @@ -720,7 +720,7 @@ func SetP2PConfig(ctx *cli.Context, cfg *p2p.Config) { // --dev mode can't use p2p networking. cfg.MaxPeers = 0 cfg.ListenAddr = ":0" - cfg.Discovery = false + cfg.NoDiscovery = true cfg.DiscoveryV5 = false } } diff --git a/cmd/wnode/main.go b/cmd/wnode/main.go index 7431980b54..b40352f575 100644 --- a/cmd/wnode/main.go +++ b/cmd/wnode/main.go @@ -257,7 +257,6 @@ func initialize() { Config: p2p.Config{ PrivateKey: nodeid, MaxPeers: maxPeers, - Discovery: true, Name: common.MakeName("wnode", "5.0"), Protocols: shh.Protocols(), ListenAddr: *argIP, diff --git a/mobile/geth.go b/mobile/geth.go index 2dad260f12..0ecefb32bb 100644 --- a/mobile/geth.go +++ b/mobile/geth.go @@ -115,7 +115,6 @@ func NewNode(datadir string, config *NodeConfig) (stack *Node, _ error) { DataDir: datadir, KeyStoreDir: filepath.Join(datadir, "keystore"), // Mobile should never use internal keystores! P2P: p2p.Config{ - Discovery: true, DiscoveryV5: true, DiscoveryV5Addr: ":0", BootstrapNodesV5: config.BootstrapNodes.nodes, diff --git a/p2p/server.go b/p2p/server.go index 18a782dec6..21cd72fdca 100644 --- a/p2p/server.go +++ b/p2p/server.go @@ -69,9 +69,9 @@ type Config struct { // Zero defaults to preset values. MaxPendingPeers int `toml:",omitempty"` - // Discovery specifies whether the peer discovery mechanism should be started - // or not. Disabling is usually useful for protocol debugging (manual topology). - Discovery bool + // NoDiscowery can be used to disable the peer discovery mechanism. + // Disabling is useful for protocol debugging (manual topology). + NoDiscovery bool // DiscoveryV5 specifies whether the the new topic-discovery based V5 discovery // protocol should be started or not. @@ -370,7 +370,7 @@ func (srv *Server) Start() (err error) { srv.peerOpDone = make(chan struct{}) // node table - if srv.Discovery { + if !srv.NoDiscovery { ntab, err := discover.ListenUDP(srv.PrivateKey, srv.ListenAddr, srv.NAT, srv.NodeDatabase, srv.NetRestrict) if err != nil { return err @@ -393,7 +393,7 @@ func (srv *Server) Start() (err error) { } dynPeers := (srv.MaxPeers + 1) / 2 - if !srv.Discovery { + if srv.NoDiscovery { dynPeers = 0 } dialer := newDialState(srv.StaticNodes, srv.BootstrapNodes, srv.ntab, dynPeers, srv.NetRestrict)