|
|
@@ -135,6 +135,10 @@ var (
|
|
|
Usage: "Explicitly set network id (integer)(For testnets: use --ropsten, --rinkeby, --goerli instead)",
|
|
|
Value: eth.DefaultConfig.NetworkId,
|
|
|
}
|
|
|
+ MainnetFlag = cli.BoolFlag{
|
|
|
+ Name: "mainnet",
|
|
|
+ Usage: "Ethereum mainnet",
|
|
|
+ }
|
|
|
GoerliFlag = cli.BoolFlag{
|
|
|
Name: "goerli",
|
|
|
Usage: "Görli network: pre-configured proof-of-authority test network",
|
|
|
@@ -1494,7 +1498,7 @@ func SetShhConfig(ctx *cli.Context, stack *node.Node) {
|
|
|
// SetEthConfig applies eth-related command line flags to the config.
|
|
|
func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) {
|
|
|
// Avoid conflicting network flags
|
|
|
- CheckExclusive(ctx, DeveloperFlag, LegacyTestnetFlag, RopstenFlag, RinkebyFlag, GoerliFlag, YoloV2Flag)
|
|
|
+ CheckExclusive(ctx, MainnetFlag, DeveloperFlag, LegacyTestnetFlag, RopstenFlag, RinkebyFlag, GoerliFlag, YoloV2Flag)
|
|
|
CheckExclusive(ctx, LegacyLightServFlag, LightServeFlag, SyncModeFlag, "light")
|
|
|
CheckExclusive(ctx, DeveloperFlag, ExternalSignerFlag) // Can't use both ephemeral unlocked and external signer
|
|
|
CheckExclusive(ctx, GCModeFlag, "archive", TxLookupLimitFlag)
|
|
|
@@ -1608,6 +1612,12 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) {
|
|
|
}
|
|
|
// Override any default configs for hard coded networks.
|
|
|
switch {
|
|
|
+ case ctx.GlobalBool(MainnetFlag.Name):
|
|
|
+ if !ctx.GlobalIsSet(NetworkIdFlag.Name) {
|
|
|
+ cfg.NetworkId = 1
|
|
|
+ }
|
|
|
+ cfg.Genesis = core.DefaultGenesisBlock()
|
|
|
+ SetDNSDiscoveryDefaults(cfg, params.MainnetGenesisHash)
|
|
|
case ctx.GlobalBool(LegacyTestnetFlag.Name) || ctx.GlobalBool(RopstenFlag.Name):
|
|
|
if !ctx.GlobalIsSet(NetworkIdFlag.Name) {
|
|
|
cfg.NetworkId = 3
|