|
|
|
@ -360,7 +360,17 @@ var (
|
|
|
|
|
}
|
|
|
|
|
BootnodesFlag = cli.StringFlag{
|
|
|
|
|
Name: "bootnodes",
|
|
|
|
|
Usage: "Comma separated enode URLs for P2P discovery bootstrap",
|
|
|
|
|
Usage: "Comma separated enode URLs for P2P discovery bootstrap (set v4+v5 instead for light servers)",
|
|
|
|
|
Value: "",
|
|
|
|
|
}
|
|
|
|
|
BootnodesV4Flag = cli.StringFlag{
|
|
|
|
|
Name: "bootnodesv4",
|
|
|
|
|
Usage: "Comma separated enode URLs for P2P v4 discovery bootstrap (light server, full nodes)",
|
|
|
|
|
Value: "",
|
|
|
|
|
}
|
|
|
|
|
BootnodesV5Flag = cli.StringFlag{
|
|
|
|
|
Name: "bootnodesv5",
|
|
|
|
|
Usage: "Comma separated enode URLs for P2P v5 discovery bootstrap (light server, light nodes)",
|
|
|
|
|
Value: "",
|
|
|
|
|
}
|
|
|
|
|
NodeKeyFileFlag = cli.StringFlag{
|
|
|
|
@ -469,8 +479,12 @@ func setNodeUserIdent(ctx *cli.Context, cfg *node.Config) {
|
|
|
|
|
func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) {
|
|
|
|
|
urls := params.MainnetBootnodes
|
|
|
|
|
switch {
|
|
|
|
|
case ctx.GlobalIsSet(BootnodesFlag.Name):
|
|
|
|
|
case ctx.GlobalIsSet(BootnodesFlag.Name) || ctx.GlobalIsSet(BootnodesV4Flag.Name):
|
|
|
|
|
if ctx.GlobalIsSet(BootnodesV4Flag.Name) {
|
|
|
|
|
urls = strings.Split(ctx.GlobalString(BootnodesV4Flag.Name), ",")
|
|
|
|
|
} else {
|
|
|
|
|
urls = strings.Split(ctx.GlobalString(BootnodesFlag.Name), ",")
|
|
|
|
|
}
|
|
|
|
|
case ctx.GlobalBool(TestnetFlag.Name):
|
|
|
|
|
urls = params.TestnetBootnodes
|
|
|
|
|
case ctx.GlobalBool(RinkebyFlag.Name):
|
|
|
|
@ -493,8 +507,12 @@ func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) {
|
|
|
|
|
func setBootstrapNodesV5(ctx *cli.Context, cfg *p2p.Config) {
|
|
|
|
|
urls := params.DiscoveryV5Bootnodes
|
|
|
|
|
switch {
|
|
|
|
|
case ctx.GlobalIsSet(BootnodesFlag.Name):
|
|
|
|
|
case ctx.GlobalIsSet(BootnodesFlag.Name) || ctx.GlobalIsSet(BootnodesV5Flag.Name):
|
|
|
|
|
if ctx.GlobalIsSet(BootnodesV5Flag.Name) {
|
|
|
|
|
urls = strings.Split(ctx.GlobalString(BootnodesV5Flag.Name), ",")
|
|
|
|
|
} else {
|
|
|
|
|
urls = strings.Split(ctx.GlobalString(BootnodesFlag.Name), ",")
|
|
|
|
|
}
|
|
|
|
|
case ctx.GlobalBool(RinkebyFlag.Name):
|
|
|
|
|
urls = params.RinkebyV5Bootnodes
|
|
|
|
|
case cfg.BootstrapNodesV5 != nil:
|
|
|
|
@ -717,6 +735,7 @@ func SetP2PConfig(ctx *cli.Context, cfg *p2p.Config) {
|
|
|
|
|
// --dev mode can't use p2p networking.
|
|
|
|
|
cfg.MaxPeers = 0
|
|
|
|
|
cfg.ListenAddr = ":0"
|
|
|
|
|
cfg.DiscoveryV5Addr = ":0"
|
|
|
|
|
cfg.NoDiscovery = true
|
|
|
|
|
cfg.DiscoveryV5 = false
|
|
|
|
|
}
|
|
|
|
|