|
|
|
@ -179,7 +179,7 @@ var ( |
|
|
|
|
LightPeersFlag = cli.IntFlag{ |
|
|
|
|
Name: "lightpeers", |
|
|
|
|
Usage: "Maximum number of LES client peers", |
|
|
|
|
Value: 20, |
|
|
|
|
Value: eth.DefaultConfig.LightPeers, |
|
|
|
|
} |
|
|
|
|
LightKDFFlag = cli.BoolFlag{ |
|
|
|
|
Name: "lightkdf", |
|
|
|
@ -791,20 +791,40 @@ func SetP2PConfig(ctx *cli.Context, cfg *p2p.Config) { |
|
|
|
|
setBootstrapNodes(ctx, cfg) |
|
|
|
|
setBootstrapNodesV5(ctx, cfg) |
|
|
|
|
|
|
|
|
|
lightClient := ctx.GlobalBool(LightModeFlag.Name) || ctx.GlobalString(SyncModeFlag.Name) == "light" |
|
|
|
|
lightServer := ctx.GlobalInt(LightServFlag.Name) != 0 |
|
|
|
|
lightPeers := ctx.GlobalInt(LightPeersFlag.Name) |
|
|
|
|
|
|
|
|
|
if ctx.GlobalIsSet(MaxPeersFlag.Name) { |
|
|
|
|
cfg.MaxPeers = ctx.GlobalInt(MaxPeersFlag.Name) |
|
|
|
|
} else { |
|
|
|
|
if lightServer { |
|
|
|
|
cfg.MaxPeers += lightPeers |
|
|
|
|
} |
|
|
|
|
if lightClient && ctx.GlobalIsSet(LightPeersFlag.Name) && cfg.MaxPeers < lightPeers { |
|
|
|
|
cfg.MaxPeers = lightPeers |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if !(lightClient || lightServer) { |
|
|
|
|
lightPeers = 0 |
|
|
|
|
} |
|
|
|
|
ethPeers := cfg.MaxPeers - lightPeers |
|
|
|
|
if lightClient { |
|
|
|
|
ethPeers = 0 |
|
|
|
|
} |
|
|
|
|
log.Info("Maximum peer count", "ETH", ethPeers, "LES", lightPeers, "total", cfg.MaxPeers) |
|
|
|
|
|
|
|
|
|
if ctx.GlobalIsSet(MaxPendingPeersFlag.Name) { |
|
|
|
|
cfg.MaxPendingPeers = ctx.GlobalInt(MaxPendingPeersFlag.Name) |
|
|
|
|
} |
|
|
|
|
if ctx.GlobalIsSet(NoDiscoverFlag.Name) || ctx.GlobalBool(LightModeFlag.Name) { |
|
|
|
|
if ctx.GlobalIsSet(NoDiscoverFlag.Name) || lightClient { |
|
|
|
|
cfg.NoDiscovery = true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// if we're running a light client or server, force enable the v5 peer discovery
|
|
|
|
|
// unless it is explicitly disabled with --nodiscover note that explicitly specifying
|
|
|
|
|
// --v5disc overrides --nodiscover, in which case the later only disables v4 discovery
|
|
|
|
|
forceV5Discovery := (ctx.GlobalBool(LightModeFlag.Name) || ctx.GlobalInt(LightServFlag.Name) > 0) && !ctx.GlobalBool(NoDiscoverFlag.Name) |
|
|
|
|
forceV5Discovery := (lightClient || lightServer) && !ctx.GlobalBool(NoDiscoverFlag.Name) |
|
|
|
|
if ctx.GlobalIsSet(DiscoveryV5Flag.Name) { |
|
|
|
|
cfg.DiscoveryV5 = ctx.GlobalBool(DiscoveryV5Flag.Name) |
|
|
|
|
} else if forceV5Discovery { |
|
|
|
|