|
|
|
@ -155,6 +155,10 @@ var ( |
|
|
|
|
Name: "ropsten", |
|
|
|
|
Usage: "Ropsten network: pre-configured proof-of-work test network", |
|
|
|
|
} |
|
|
|
|
SepoliaFlag = cli.BoolFlag{ |
|
|
|
|
Name: "sepolia", |
|
|
|
|
Usage: "Sepolia network: pre-configured proof-of-work test network", |
|
|
|
|
} |
|
|
|
|
DeveloperFlag = cli.BoolFlag{ |
|
|
|
|
Name: "dev", |
|
|
|
|
Usage: "Ephemeral proof-of-authority network with a pre-funded developer account, mining enabled", |
|
|
|
@ -798,6 +802,9 @@ func MakeDataDir(ctx *cli.Context) string { |
|
|
|
|
if ctx.GlobalBool(GoerliFlag.Name) { |
|
|
|
|
return filepath.Join(path, "goerli") |
|
|
|
|
} |
|
|
|
|
if ctx.GlobalBool(SepoliaFlag.Name) { |
|
|
|
|
return filepath.Join(path, "sepolia") |
|
|
|
|
} |
|
|
|
|
return path |
|
|
|
|
} |
|
|
|
|
Fatalf("Cannot determine default data directory, please set manually (--datadir)") |
|
|
|
@ -846,6 +853,8 @@ func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) { |
|
|
|
|
urls = SplitAndTrim(ctx.GlobalString(BootnodesFlag.Name)) |
|
|
|
|
case ctx.GlobalBool(RopstenFlag.Name): |
|
|
|
|
urls = params.RopstenBootnodes |
|
|
|
|
case ctx.GlobalBool(SepoliaFlag.Name): |
|
|
|
|
urls = params.SepoliaBootnodes |
|
|
|
|
case ctx.GlobalBool(RinkebyFlag.Name): |
|
|
|
|
urls = params.RinkebyBootnodes |
|
|
|
|
case ctx.GlobalBool(GoerliFlag.Name): |
|
|
|
@ -1269,6 +1278,8 @@ func setDataDir(ctx *cli.Context, cfg *node.Config) { |
|
|
|
|
cfg.DataDir = filepath.Join(node.DefaultDataDir(), "rinkeby") |
|
|
|
|
case ctx.GlobalBool(GoerliFlag.Name) && cfg.DataDir == node.DefaultDataDir(): |
|
|
|
|
cfg.DataDir = filepath.Join(node.DefaultDataDir(), "goerli") |
|
|
|
|
case ctx.GlobalBool(SepoliaFlag.Name) && cfg.DataDir == node.DefaultDataDir(): |
|
|
|
|
cfg.DataDir = filepath.Join(node.DefaultDataDir(), "sepolia") |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1454,7 +1465,7 @@ func CheckExclusive(ctx *cli.Context, args ...interface{}) { |
|
|
|
|
// SetEthConfig applies eth-related command line flags to the config.
|
|
|
|
|
func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *ethconfig.Config) { |
|
|
|
|
// Avoid conflicting network flags
|
|
|
|
|
CheckExclusive(ctx, MainnetFlag, DeveloperFlag, RopstenFlag, RinkebyFlag, GoerliFlag) |
|
|
|
|
CheckExclusive(ctx, MainnetFlag, DeveloperFlag, RopstenFlag, RinkebyFlag, GoerliFlag, SepoliaFlag) |
|
|
|
|
CheckExclusive(ctx, LightServeFlag, SyncModeFlag, "light") |
|
|
|
|
CheckExclusive(ctx, DeveloperFlag, ExternalSignerFlag) // Can't use both ephemeral unlocked and external signer
|
|
|
|
|
if ctx.GlobalString(GCModeFlag.Name) == "archive" && ctx.GlobalUint64(TxLookupLimitFlag.Name) != 0 { |
|
|
|
@ -1598,6 +1609,12 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *ethconfig.Config) { |
|
|
|
|
} |
|
|
|
|
cfg.Genesis = core.DefaultRopstenGenesisBlock() |
|
|
|
|
SetDNSDiscoveryDefaults(cfg, params.RopstenGenesisHash) |
|
|
|
|
case ctx.GlobalBool(SepoliaFlag.Name): |
|
|
|
|
if !ctx.GlobalIsSet(NetworkIdFlag.Name) { |
|
|
|
|
cfg.NetworkId = 11155111 |
|
|
|
|
} |
|
|
|
|
cfg.Genesis = core.DefaultSepoliaGenesisBlock() |
|
|
|
|
SetDNSDiscoveryDefaults(cfg, params.SepoliaGenesisHash) |
|
|
|
|
case ctx.GlobalBool(RinkebyFlag.Name): |
|
|
|
|
if !ctx.GlobalIsSet(NetworkIdFlag.Name) { |
|
|
|
|
cfg.NetworkId = 4 |
|
|
|
@ -1826,6 +1843,8 @@ func MakeGenesis(ctx *cli.Context) *core.Genesis { |
|
|
|
|
genesis = core.DefaultGenesisBlock() |
|
|
|
|
case ctx.GlobalBool(RopstenFlag.Name): |
|
|
|
|
genesis = core.DefaultRopstenGenesisBlock() |
|
|
|
|
case ctx.GlobalBool(SepoliaFlag.Name): |
|
|
|
|
genesis = core.DefaultSepoliaGenesisBlock() |
|
|
|
|
case ctx.GlobalBool(RinkebyFlag.Name): |
|
|
|
|
genesis = core.DefaultRinkebyGenesisBlock() |
|
|
|
|
case ctx.GlobalBool(GoerliFlag.Name): |
|
|
|
|