aboutsummaryrefslogtreecommitdiffstats
path: root/node
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2016-11-09 22:35:04 +0800
committerPéter Szilágyi <peterke@gmail.com>2016-11-15 00:00:14 +0800
commitb61f48e5aad9cf897f5655a0db002a3349109c67 (patch)
tree32b0d7d4a126ee444e1cd563c5d4d8ebadef09ec /node
parentde4b39a1a32a61a9683a036b2e27e8df7cd4c9ff (diff)
downloadgo-tangerine-b61f48e5aad9cf897f5655a0db002a3349109c67.tar
go-tangerine-b61f48e5aad9cf897f5655a0db002a3349109c67.tar.gz
go-tangerine-b61f48e5aad9cf897f5655a0db002a3349109c67.tar.bz2
go-tangerine-b61f48e5aad9cf897f5655a0db002a3349109c67.tar.lz
go-tangerine-b61f48e5aad9cf897f5655a0db002a3349109c67.tar.xz
go-tangerine-b61f48e5aad9cf897f5655a0db002a3349109c67.tar.zst
go-tangerine-b61f48e5aad9cf897f5655a0db002a3349109c67.zip
cmd, mobile, node, p2p: surface the discovery V5 bootnodes
Diffstat (limited to 'node')
-rw-r--r--node/config.go14
-rw-r--r--node/node.go31
2 files changed, 27 insertions, 18 deletions
diff --git a/node/config.go b/node/config.go
index dbefcb8a5..62655f237 100644
--- a/node/config.go
+++ b/node/config.go
@@ -32,6 +32,7 @@ import (
"github.com/ethereum/go-ethereum/logger"
"github.com/ethereum/go-ethereum/logger/glog"
"github.com/ethereum/go-ethereum/p2p/discover"
+ "github.com/ethereum/go-ethereum/p2p/discv5"
"github.com/ethereum/go-ethereum/p2p/nat"
)
@@ -95,16 +96,23 @@ type Config struct {
// or not. Disabling is usually 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.
DiscoveryV5 bool
- // Bootstrap nodes used to establish connectivity with the rest of the network.
+ // Listener address for the V5 discovery protocol UDP traffic.
+ DiscoveryV5Addr string
+
+ // BootstrapNodes used to establish connectivity with the rest of the network.
BootstrapNodes []*discover.Node
+ // BootstrapNodesV5 used to establish connectivity with the rest of the network
+ // using the V5 discovery protocol.
+ BootstrapNodesV5 []*discv5.Node
+
// Network interface address on which the node should listen for inbound peers.
ListenAddr string
- ListenAddrV5 string
-
// If set to a non-nil value, the given NAT port mapper is used to make the
// listening port available to the Internet.
NAT nat.Interface
diff --git a/node/node.go b/node/node.go
index fb11696fa..d49ae3a45 100644
--- a/node/node.go
+++ b/node/node.go
@@ -154,21 +154,22 @@ func (n *Node) Start() error {
// Initialize the p2p server. This creates the node key and
// discovery databases.
n.serverConfig = p2p.Config{
- PrivateKey: n.config.NodeKey(),
- Name: n.config.NodeName(),
- Discovery: !n.config.NoDiscovery,
- DiscoveryV5: n.config.DiscoveryV5,
- BootstrapNodes: n.config.BootstrapNodes,
- StaticNodes: n.config.StaticNodes(),
- TrustedNodes: n.config.TrusterNodes(),
- NodeDatabase: n.config.NodeDB(),
- ListenAddr: n.config.ListenAddr,
- ListenAddrV5: n.config.ListenAddrV5,
- NAT: n.config.NAT,
- Dialer: n.config.Dialer,
- NoDial: n.config.NoDial,
- MaxPeers: n.config.MaxPeers,
- MaxPendingPeers: n.config.MaxPendingPeers,
+ PrivateKey: n.config.NodeKey(),
+ Name: n.config.NodeName(),
+ Discovery: !n.config.NoDiscovery,
+ DiscoveryV5: n.config.DiscoveryV5,
+ DiscoveryV5Addr: n.config.DiscoveryV5Addr,
+ BootstrapNodes: n.config.BootstrapNodes,
+ BootstrapNodesV5: n.config.BootstrapNodesV5,
+ StaticNodes: n.config.StaticNodes(),
+ TrustedNodes: n.config.TrusterNodes(),
+ NodeDatabase: n.config.NodeDB(),
+ ListenAddr: n.config.ListenAddr,
+ NAT: n.config.NAT,
+ Dialer: n.config.Dialer,
+ NoDial: n.config.NoDial,
+ MaxPeers: n.config.MaxPeers,
+ MaxPendingPeers: n.config.MaxPendingPeers,
}
running := &p2p.Server{Config: n.serverConfig}
glog.V(logger.Info).Infoln("instance:", n.serverConfig.Name)