@@ -136,7 +136,7 @@ var (
136
136
}
137
137
NetworkIdFlag = & cli.Uint64Flag {
138
138
Name : "networkid" ,
139
- Usage : "Explicitly set network id (integer)(For testnets: use --goerli, --sepolia instead)" ,
139
+ Usage : "Explicitly set network id (integer)(For testnets: use --goerli, --sepolia, --holesky instead)" ,
140
140
Value : ethconfig .Defaults .NetworkId ,
141
141
Category : flags .EthCategory ,
142
142
}
@@ -155,7 +155,11 @@ var (
155
155
Usage : "Sepolia network: pre-configured proof-of-work test network" ,
156
156
Category : flags .EthCategory ,
157
157
}
158
-
158
+ HoleskyFlag = & cli.BoolFlag {
159
+ Name : "holesky" ,
160
+ Usage : "Holesky network: pre-configured proof-of-stake test network" ,
161
+ Category : flags .EthCategory ,
162
+ }
159
163
// Dev mode
160
164
DeveloperFlag = & cli.BoolFlag {
161
165
Name : "dev" ,
@@ -952,6 +956,7 @@ var (
952
956
TestnetFlags = []cli.Flag {
953
957
GoerliFlag ,
954
958
SepoliaFlag ,
959
+ HoleskyFlag ,
955
960
}
956
961
// NetworkFlags is the flag group of all built-in supported networks.
957
962
NetworkFlags = append ([]cli.Flag {MainnetFlag }, TestnetFlags ... )
@@ -982,6 +987,9 @@ func MakeDataDir(ctx *cli.Context) string {
982
987
if ctx .Bool (SepoliaFlag .Name ) {
983
988
return filepath .Join (path , "sepolia" )
984
989
}
990
+ if ctx .Bool (HoleskyFlag .Name ) {
991
+ return filepath .Join (path , "holesky" )
992
+ }
985
993
return path
986
994
}
987
995
Fatalf ("Cannot determine default data directory, please set manually (--datadir)" )
@@ -1028,6 +1036,8 @@ func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) {
1028
1036
switch {
1029
1037
case ctx .IsSet (BootnodesFlag .Name ):
1030
1038
urls = SplitAndTrim (ctx .String (BootnodesFlag .Name ))
1039
+ case ctx .Bool (HoleskyFlag .Name ):
1040
+ urls = params .HoleskyBootnodes
1031
1041
case ctx .Bool (SepoliaFlag .Name ):
1032
1042
urls = params .SepoliaBootnodes
1033
1043
case ctx .Bool (GoerliFlag .Name ):
@@ -1480,6 +1490,8 @@ func SetDataDir(ctx *cli.Context, cfg *node.Config) {
1480
1490
cfg .DataDir = filepath .Join (node .DefaultDataDir (), "goerli" )
1481
1491
case ctx .Bool (SepoliaFlag .Name ) && cfg .DataDir == node .DefaultDataDir ():
1482
1492
cfg .DataDir = filepath .Join (node .DefaultDataDir (), "sepolia" )
1493
+ case ctx .Bool (HoleskyFlag .Name ) && cfg .DataDir == node .DefaultDataDir ():
1494
+ cfg .DataDir = filepath .Join (node .DefaultDataDir (), "holesky" )
1483
1495
}
1484
1496
}
1485
1497
@@ -1636,7 +1648,7 @@ func CheckExclusive(ctx *cli.Context, args ...interface{}) {
1636
1648
// SetEthConfig applies eth-related command line flags to the config.
1637
1649
func SetEthConfig (ctx * cli.Context , stack * node.Node , cfg * ethconfig.Config ) {
1638
1650
// Avoid conflicting network flags
1639
- CheckExclusive (ctx , MainnetFlag , DeveloperFlag , GoerliFlag , SepoliaFlag )
1651
+ CheckExclusive (ctx , MainnetFlag , DeveloperFlag , GoerliFlag , SepoliaFlag , HoleskyFlag )
1640
1652
CheckExclusive (ctx , LightServeFlag , SyncModeFlag , "light" )
1641
1653
CheckExclusive (ctx , DeveloperFlag , ExternalSignerFlag ) // Can't use both ephemeral unlocked and external signer
1642
1654
@@ -1789,6 +1801,12 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *ethconfig.Config) {
1789
1801
}
1790
1802
cfg .Genesis = core .DefaultGenesisBlock ()
1791
1803
SetDNSDiscoveryDefaults (cfg , params .MainnetGenesisHash )
1804
+ case ctx .Bool (HoleskyFlag .Name ):
1805
+ if ! ctx .IsSet (NetworkIdFlag .Name ) {
1806
+ cfg .NetworkId = 17000
1807
+ }
1808
+ cfg .Genesis = core .DefaultHoleskyGenesisBlock ()
1809
+ SetDNSDiscoveryDefaults (cfg , params .HoleskyGenesisHash )
1792
1810
case ctx .Bool (SepoliaFlag .Name ):
1793
1811
if ! ctx .IsSet (NetworkIdFlag .Name ) {
1794
1812
cfg .NetworkId = 11155111
@@ -2121,6 +2139,8 @@ func MakeGenesis(ctx *cli.Context) *core.Genesis {
2121
2139
switch {
2122
2140
case ctx .Bool (MainnetFlag .Name ):
2123
2141
genesis = core .DefaultGenesisBlock ()
2142
+ case ctx .Bool (HoleskyFlag .Name ):
2143
+ genesis = core .DefaultHoleskyGenesisBlock ()
2124
2144
case ctx .Bool (SepoliaFlag .Name ):
2125
2145
genesis = core .DefaultSepoliaGenesisBlock ()
2126
2146
case ctx .Bool (GoerliFlag .Name ):
0 commit comments