|
|
|
@ -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): |
|
|
|
|
urls = strings.Split(ctx.GlobalString(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): |
|
|
|
|
urls = strings.Split(ctx.GlobalString(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 |
|
|
|
|
} |
|
|
|
|