params: avoid importing p2p/discover for bootnodes
params is imported by leaf-ish library packages and should not pull in the p2p stack.
This commit is contained in:
parent
bbc4ea4ae8
commit
b9683d3748
@ -337,10 +337,10 @@ var (
|
|||||||
Usage: "Network listening port",
|
Usage: "Network listening port",
|
||||||
Value: 30303,
|
Value: 30303,
|
||||||
}
|
}
|
||||||
BootnodesFlag = cli.StringFlag{
|
BootnodesFlag = cli.StringSliceFlag{
|
||||||
Name: "bootnodes",
|
Name: "bootnodes",
|
||||||
Usage: "Comma separated enode URLs for P2P discovery bootstrap",
|
Usage: "Comma separated enode URLs for P2P discovery bootstrap",
|
||||||
Value: "",
|
Value: nil,
|
||||||
}
|
}
|
||||||
NodeKeyFileFlag = cli.StringFlag{
|
NodeKeyFileFlag = cli.StringFlag{
|
||||||
Name: "nodekey",
|
Name: "nodekey",
|
||||||
@ -485,17 +485,15 @@ func makeNodeUserIdent(ctx *cli.Context) string {
|
|||||||
// MakeBootstrapNodes creates a list of bootstrap nodes from the command line
|
// MakeBootstrapNodes creates a list of bootstrap nodes from the command line
|
||||||
// flags, reverting to pre-configured ones if none have been specified.
|
// flags, reverting to pre-configured ones if none have been specified.
|
||||||
func MakeBootstrapNodes(ctx *cli.Context) []*discover.Node {
|
func MakeBootstrapNodes(ctx *cli.Context) []*discover.Node {
|
||||||
// Return pre-configured nodes if none were manually requested
|
urls := params.MainnetBootnodes
|
||||||
if !ctx.GlobalIsSet(BootnodesFlag.Name) {
|
if ctx.GlobalIsSet(BootnodesFlag.Name) {
|
||||||
if ctx.GlobalBool(TestNetFlag.Name) {
|
urls = ctx.GlobalStringSlice(BootnodesFlag.Name)
|
||||||
return params.TestnetBootnodes
|
} else if ctx.GlobalBool(TestNetFlag.Name) {
|
||||||
}
|
urls = params.TestnetBootnodes
|
||||||
return params.MainnetBootnodes
|
|
||||||
}
|
}
|
||||||
// Otherwise parse and use the CLI bootstrap nodes
|
|
||||||
bootnodes := []*discover.Node{}
|
|
||||||
|
|
||||||
for _, url := range strings.Split(ctx.GlobalString(BootnodesFlag.Name), ",") {
|
bootnodes := make([]*discover.Node, 0, len(urls))
|
||||||
|
for _, url := range urls {
|
||||||
node, err := discover.ParseNode(url)
|
node, err := discover.ParseNode(url)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.V(logger.Error).Infof("Bootstrap URL %s: %v\n", url, err)
|
glog.V(logger.Error).Infof("Bootstrap URL %s: %v\n", url, err)
|
||||||
@ -509,14 +507,13 @@ func MakeBootstrapNodes(ctx *cli.Context) []*discover.Node {
|
|||||||
// MakeBootstrapNodesV5 creates a list of bootstrap nodes from the command line
|
// MakeBootstrapNodesV5 creates a list of bootstrap nodes from the command line
|
||||||
// flags, reverting to pre-configured ones if none have been specified.
|
// flags, reverting to pre-configured ones if none have been specified.
|
||||||
func MakeBootstrapNodesV5(ctx *cli.Context) []*discv5.Node {
|
func MakeBootstrapNodesV5(ctx *cli.Context) []*discv5.Node {
|
||||||
// Return pre-configured nodes if none were manually requested
|
urls := params.DiscoveryV5Bootnodes
|
||||||
if !ctx.GlobalIsSet(BootnodesFlag.Name) {
|
if ctx.GlobalIsSet(BootnodesFlag.Name) {
|
||||||
return params.DiscoveryV5Bootnodes
|
urls = ctx.GlobalStringSlice(BootnodesFlag.Name)
|
||||||
}
|
}
|
||||||
// Otherwise parse and use the CLI bootstrap nodes
|
|
||||||
bootnodes := []*discv5.Node{}
|
|
||||||
|
|
||||||
for _, url := range strings.Split(ctx.GlobalString(BootnodesFlag.Name), ",") {
|
bootnodes := make([]*discv5.Node, 0, len(urls))
|
||||||
|
for _, url := range urls {
|
||||||
node, err := discv5.ParseNode(url)
|
node, err := discv5.ParseNode(url)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.V(logger.Error).Infof("Bootstrap URL %s: %v\n", url, err)
|
glog.V(logger.Error).Infof("Bootstrap URL %s: %v\n", url, err)
|
||||||
|
@ -85,8 +85,8 @@ func NewChainConfig() *ChainConfig {
|
|||||||
// by the foundation running the V5 discovery protocol.
|
// by the foundation running the V5 discovery protocol.
|
||||||
func FoundationBootnodes() *Enodes {
|
func FoundationBootnodes() *Enodes {
|
||||||
nodes := &Enodes{nodes: make([]*discv5.Node, len(params.DiscoveryV5Bootnodes))}
|
nodes := &Enodes{nodes: make([]*discv5.Node, len(params.DiscoveryV5Bootnodes))}
|
||||||
for i, node := range params.DiscoveryV5Bootnodes {
|
for i, url := range params.DiscoveryV5Bootnodes {
|
||||||
nodes.nodes[i] = node
|
nodes.nodes[i] = discv5.MustParseNode(url)
|
||||||
}
|
}
|
||||||
return nodes
|
return nodes
|
||||||
}
|
}
|
||||||
|
@ -16,37 +16,30 @@
|
|||||||
|
|
||||||
package params
|
package params
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/ethereum/go-ethereum/p2p/discover"
|
|
||||||
"github.com/ethereum/go-ethereum/p2p/discv5"
|
|
||||||
)
|
|
||||||
|
|
||||||
// MainnetBootnodes are the enode URLs of the P2P bootstrap nodes running on
|
// MainnetBootnodes are the enode URLs of the P2P bootstrap nodes running on
|
||||||
// the main Ethereum network.
|
// the main Ethereum network.
|
||||||
var MainnetBootnodes = []*discover.Node{
|
var MainnetBootnodes = []string{
|
||||||
// ETH/DEV Go Bootnodes
|
// ETH/DEV Go Bootnodes
|
||||||
discover.MustParseNode("enode://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@52.16.188.185:30303"), // IE
|
"enode://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@52.16.188.185:30303", // IE
|
||||||
discover.MustParseNode("enode://de471bccee3d042261d52e9bff31458daecc406142b401d4cd848f677479f73104b9fdeb090af9583d3391b7f10cb2ba9e26865dd5fca4fcdc0fb1e3b723c786@54.94.239.50:30303"), // BR
|
"enode://de471bccee3d042261d52e9bff31458daecc406142b401d4cd848f677479f73104b9fdeb090af9583d3391b7f10cb2ba9e26865dd5fca4fcdc0fb1e3b723c786@54.94.239.50:30303", // BR
|
||||||
discover.MustParseNode("enode://1118980bf48b0a3640bdba04e0fe78b1add18e1cd99bf22d53daac1fd9972ad650df52176e7c7d89d1114cfef2bc23a2959aa54998a46afcf7d91809f0855082@52.74.57.123:30303"), // SG
|
"enode://1118980bf48b0a3640bdba04e0fe78b1add18e1cd99bf22d53daac1fd9972ad650df52176e7c7d89d1114cfef2bc23a2959aa54998a46afcf7d91809f0855082@52.74.57.123:30303", // SG
|
||||||
|
|
||||||
// ETH/DEV Cpp Bootnodes
|
// ETH/DEV Cpp Bootnodes
|
||||||
discover.MustParseNode("enode://979b7fa28feeb35a4741660a16076f1943202cb72b6af70d327f053e248bab9ba81760f39d0701ef1d8f89cc1fbd2cacba0710a12cd5314d5e0c9021aa3637f9@5.1.83.226:30303"),
|
"enode://979b7fa28feeb35a4741660a16076f1943202cb72b6af70d327f053e248bab9ba81760f39d0701ef1d8f89cc1fbd2cacba0710a12cd5314d5e0c9021aa3637f9@5.1.83.226:30303",
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestnetBootnodes are the enode URLs of the P2P bootstrap nodes running on the
|
// TestnetBootnodes are the enode URLs of the P2P bootstrap nodes running on the
|
||||||
// Morden test network.
|
// Morden test network.
|
||||||
var TestnetBootnodes = []*discover.Node{
|
var TestnetBootnodes = []string{
|
||||||
// ETH/DEV Go Bootnodes
|
// ETH/DEV Go Bootnodes
|
||||||
discover.MustParseNode("enode://e4533109cc9bd7604e4ff6c095f7a1d807e15b38e9bfeb05d3b7c423ba86af0a9e89abbf40bd9dde4250fef114cd09270fa4e224cbeef8b7bf05a51e8260d6b8@94.242.229.4:40404"),
|
"enode://e4533109cc9bd7604e4ff6c095f7a1d807e15b38e9bfeb05d3b7c423ba86af0a9e89abbf40bd9dde4250fef114cd09270fa4e224cbeef8b7bf05a51e8260d6b8@94.242.229.4:40404",
|
||||||
discover.MustParseNode("enode://8c336ee6f03e99613ad21274f269479bf4413fb294d697ef15ab897598afb931f56beb8e97af530aee20ce2bcba5776f4a312bc168545de4d43736992c814592@94.242.229.203:30303"),
|
"enode://8c336ee6f03e99613ad21274f269479bf4413fb294d697ef15ab897598afb931f56beb8e97af530aee20ce2bcba5776f4a312bc168545de4d43736992c814592@94.242.229.203:30303",
|
||||||
|
|
||||||
// ETH/DEV Cpp Bootnodes
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// DiscoveryV5Bootnodes are the enode URLs of the P2P bootstrap nodes for the
|
// DiscoveryV5Bootnodes are the enode URLs of the P2P bootstrap nodes for the
|
||||||
// experimental RLPx v5 topic-discovery network.
|
// experimental RLPx v5 topic-discovery network.
|
||||||
var DiscoveryV5Bootnodes = []*discv5.Node{
|
var DiscoveryV5Bootnodes = []string{
|
||||||
discv5.MustParseNode("enode://0cc5f5ffb5d9098c8b8c62325f3797f56509bff942704687b6530992ac706e2cb946b90a34f1f19548cd3c7baccbcaea354531e5983c7d1bc0dee16ce4b6440b@40.118.3.223:30305"),
|
"enode://0cc5f5ffb5d9098c8b8c62325f3797f56509bff942704687b6530992ac706e2cb946b90a34f1f19548cd3c7baccbcaea354531e5983c7d1bc0dee16ce4b6440b@40.118.3.223:30305",
|
||||||
discv5.MustParseNode("enode://1c7a64d76c0334b0418c004af2f67c50e36a3be60b5e4790bdac0439d21603469a85fad36f2473c9a80eb043ae60936df905fa28f1ff614c3e5dc34f15dcd2dc@40.118.3.223:30308"),
|
"enode://1c7a64d76c0334b0418c004af2f67c50e36a3be60b5e4790bdac0439d21603469a85fad36f2473c9a80eb043ae60936df905fa28f1ff614c3e5dc34f15dcd2dc@40.118.3.223:30308",
|
||||||
discv5.MustParseNode("enode://85c85d7143ae8bb96924f2b54f1b3e70d8c4d367af305325d30a61385a432f247d2c75c45c6b4a60335060d072d7f5b35dd1d4c45f76941f62a4f83b6e75daaf@40.118.3.223:30309"),
|
"enode://85c85d7143ae8bb96924f2b54f1b3e70d8c4d367af305325d30a61385a432f247d2c75c45c6b4a60335060d072d7f5b35dd1d4c45f76941f62a4f83b6e75daaf@40.118.3.223:30309",
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user