@@ -134,7 +134,7 @@ var (
134134 }
135135 NetworkIdFlag = & cli.Uint64Flag {
136136 Name : "networkid" ,
137- Usage : "Explicitly set network id (integer)(For testnets: use --sepolia, --holesky instead)" ,
137+ Usage : "Explicitly set network id (integer)(For testnets: use --sepolia, --holesky, --hoodi instead)" ,
138138 Value : ethconfig .Defaults .NetworkId ,
139139 Category : flags .EthCategory ,
140140 }
@@ -153,6 +153,11 @@ var (
153153 Usage : "Holesky network: pre-configured proof-of-stake test network" ,
154154 Category : flags .EthCategory ,
155155 }
156+ HoodiFlag = & cli.BoolFlag {
157+ Name : "hoodi" ,
158+ Usage : "Hoodi network: pre-configured proof-of-stake test network" ,
159+ Category : flags .EthCategory ,
160+ }
156161 // Dev mode
157162 DeveloperFlag = & cli.BoolFlag {
158163 Name : "dev" ,
@@ -958,6 +963,7 @@ var (
958963 TestnetFlags = []cli.Flag {
959964 SepoliaFlag ,
960965 HoleskyFlag ,
966+ HoodiFlag ,
961967 }
962968 // NetworkFlags is the flag group of all built-in supported networks.
963969 NetworkFlags = append ([]cli.Flag {MainnetFlag }, TestnetFlags ... )
@@ -984,6 +990,9 @@ func MakeDataDir(ctx *cli.Context) string {
984990 if ctx .Bool (HoleskyFlag .Name ) {
985991 return filepath .Join (path , "holesky" )
986992 }
993+ if ctx .Bool (HoodiFlag .Name ) {
994+ return filepath .Join (path , "hoodi" )
995+ }
987996 return path
988997 }
989998 Fatalf ("Cannot determine default data directory, please set manually (--datadir)" )
@@ -1044,6 +1053,8 @@ func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) {
10441053 urls = params .HoleskyBootnodes
10451054 case ctx .Bool (SepoliaFlag .Name ):
10461055 urls = params .SepoliaBootnodes
1056+ case ctx .Bool (HoodiFlag .Name ):
1057+ urls = params .HoodiBootnodes
10471058 }
10481059 }
10491060 cfg .BootstrapNodes = mustParseBootnodes (urls )
@@ -1428,6 +1439,8 @@ func SetDataDir(ctx *cli.Context, cfg *node.Config) {
14281439 cfg .DataDir = filepath .Join (node .DefaultDataDir (), "sepolia" )
14291440 case ctx .Bool (HoleskyFlag .Name ) && cfg .DataDir == node .DefaultDataDir ():
14301441 cfg .DataDir = filepath .Join (node .DefaultDataDir (), "holesky" )
1442+ case ctx .Bool (HoodiFlag .Name ) && cfg .DataDir == node .DefaultDataDir ():
1443+ cfg .DataDir = filepath .Join (node .DefaultDataDir (), "hoodi" )
14311444 }
14321445}
14331446
@@ -1554,7 +1567,7 @@ func setRequiredBlocks(ctx *cli.Context, cfg *ethconfig.Config) {
15541567// SetEthConfig applies eth-related command line flags to the config.
15551568func SetEthConfig (ctx * cli.Context , stack * node.Node , cfg * ethconfig.Config ) {
15561569 // Avoid conflicting network flags
1557- flags .CheckExclusive (ctx , MainnetFlag , DeveloperFlag , SepoliaFlag , HoleskyFlag )
1570+ flags .CheckExclusive (ctx , MainnetFlag , DeveloperFlag , SepoliaFlag , HoleskyFlag , HoodiFlag )
15581571 flags .CheckExclusive (ctx , DeveloperFlag , ExternalSignerFlag ) // Can't use both ephemeral unlocked and external signer
15591572
15601573 // Set configurations from CLI flags
@@ -1738,6 +1751,12 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *ethconfig.Config) {
17381751 }
17391752 cfg .Genesis = core .DefaultSepoliaGenesisBlock ()
17401753 SetDNSDiscoveryDefaults (cfg , params .SepoliaGenesisHash )
1754+ case ctx .Bool (HoodiFlag .Name ):
1755+ if ! ctx .IsSet (NetworkIdFlag .Name ) {
1756+ cfg .NetworkId = 560048
1757+ }
1758+ cfg .Genesis = core .DefaultHoodiGenesisBlock ()
1759+ SetDNSDiscoveryDefaults (cfg , params .HoodiGenesisHash )
17411760 case ctx .Bool (DeveloperFlag .Name ):
17421761 if ! ctx .IsSet (NetworkIdFlag .Name ) {
17431762 cfg .NetworkId = 1337
@@ -1852,6 +1871,8 @@ func MakeBeaconLightConfig(ctx *cli.Context) bparams.ClientConfig {
18521871 config .ChainConfig = * bparams .SepoliaLightConfig
18531872 case ctx .Bool (HoleskyFlag .Name ):
18541873 config .ChainConfig = * bparams .HoleskyLightConfig
1874+ case ctx .Bool (HoodiFlag .Name ):
1875+ config .ChainConfig = * bparams .HoodiLightConfig
18551876 default :
18561877 if ! customConfig {
18571878 config .ChainConfig = * bparams .MainnetLightConfig
@@ -2118,6 +2139,8 @@ func MakeGenesis(ctx *cli.Context) *core.Genesis {
21182139 genesis = core .DefaultHoleskyGenesisBlock ()
21192140 case ctx .Bool (SepoliaFlag .Name ):
21202141 genesis = core .DefaultSepoliaGenesisBlock ()
2142+ case ctx .Bool (HoodiFlag .Name ):
2143+ genesis = core .DefaultHoodiGenesisBlock ()
21212144 case ctx .Bool (DeveloperFlag .Name ):
21222145 Fatalf ("Developer chains are ephemeral" )
21232146 }
0 commit comments