@@ -155,6 +155,10 @@ var (
155
155
Name : "ropsten" ,
156
156
Usage : "Ropsten network: pre-configured proof-of-work test network" ,
157
157
}
158
+ SepoliaFlag = cli.BoolFlag {
159
+ Name : "sepolia" ,
160
+ Usage : "Sepolia network: pre-configured proof-of-work test network" ,
161
+ }
158
162
DeveloperFlag = cli.BoolFlag {
159
163
Name : "dev" ,
160
164
Usage : "Ephemeral proof-of-authority network with a pre-funded developer account, mining enabled" ,
@@ -798,6 +802,9 @@ func MakeDataDir(ctx *cli.Context) string {
798
802
if ctx .GlobalBool (GoerliFlag .Name ) {
799
803
return filepath .Join (path , "goerli" )
800
804
}
805
+ if ctx .GlobalBool (SepoliaFlag .Name ) {
806
+ return filepath .Join (path , "sepolia" )
807
+ }
801
808
return path
802
809
}
803
810
Fatalf ("Cannot determine default data directory, please set manually (--datadir)" )
@@ -846,6 +853,8 @@ func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) {
846
853
urls = SplitAndTrim (ctx .GlobalString (BootnodesFlag .Name ))
847
854
case ctx .GlobalBool (RopstenFlag .Name ):
848
855
urls = params .RopstenBootnodes
856
+ case ctx .GlobalBool (SepoliaFlag .Name ):
857
+ urls = params .SepoliaBootnodes
849
858
case ctx .GlobalBool (RinkebyFlag .Name ):
850
859
urls = params .RinkebyBootnodes
851
860
case ctx .GlobalBool (GoerliFlag .Name ):
@@ -1269,6 +1278,8 @@ func setDataDir(ctx *cli.Context, cfg *node.Config) {
1269
1278
cfg .DataDir = filepath .Join (node .DefaultDataDir (), "rinkeby" )
1270
1279
case ctx .GlobalBool (GoerliFlag .Name ) && cfg .DataDir == node .DefaultDataDir ():
1271
1280
cfg .DataDir = filepath .Join (node .DefaultDataDir (), "goerli" )
1281
+ case ctx .GlobalBool (SepoliaFlag .Name ) && cfg .DataDir == node .DefaultDataDir ():
1282
+ cfg .DataDir = filepath .Join (node .DefaultDataDir (), "sepolia" )
1272
1283
}
1273
1284
}
1274
1285
@@ -1454,7 +1465,7 @@ func CheckExclusive(ctx *cli.Context, args ...interface{}) {
1454
1465
// SetEthConfig applies eth-related command line flags to the config.
1455
1466
func SetEthConfig (ctx * cli.Context , stack * node.Node , cfg * ethconfig.Config ) {
1456
1467
// Avoid conflicting network flags
1457
- CheckExclusive (ctx , MainnetFlag , DeveloperFlag , RopstenFlag , RinkebyFlag , GoerliFlag )
1468
+ CheckExclusive (ctx , MainnetFlag , DeveloperFlag , RopstenFlag , RinkebyFlag , GoerliFlag , SepoliaFlag )
1458
1469
CheckExclusive (ctx , LightServeFlag , SyncModeFlag , "light" )
1459
1470
CheckExclusive (ctx , DeveloperFlag , ExternalSignerFlag ) // Can't use both ephemeral unlocked and external signer
1460
1471
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) {
1598
1609
}
1599
1610
cfg .Genesis = core .DefaultRopstenGenesisBlock ()
1600
1611
SetDNSDiscoveryDefaults (cfg , params .RopstenGenesisHash )
1612
+ case ctx .GlobalBool (SepoliaFlag .Name ):
1613
+ if ! ctx .GlobalIsSet (NetworkIdFlag .Name ) {
1614
+ cfg .NetworkId = 11155111
1615
+ }
1616
+ cfg .Genesis = core .DefaultSepoliaGenesisBlock ()
1617
+ SetDNSDiscoveryDefaults (cfg , params .SepoliaGenesisHash )
1601
1618
case ctx .GlobalBool (RinkebyFlag .Name ):
1602
1619
if ! ctx .GlobalIsSet (NetworkIdFlag .Name ) {
1603
1620
cfg .NetworkId = 4
@@ -1826,6 +1843,8 @@ func MakeGenesis(ctx *cli.Context) *core.Genesis {
1826
1843
genesis = core .DefaultGenesisBlock ()
1827
1844
case ctx .GlobalBool (RopstenFlag .Name ):
1828
1845
genesis = core .DefaultRopstenGenesisBlock ()
1846
+ case ctx .GlobalBool (SepoliaFlag .Name ):
1847
+ genesis = core .DefaultSepoliaGenesisBlock ()
1829
1848
case ctx .GlobalBool (RinkebyFlag .Name ):
1830
1849
genesis = core .DefaultRinkebyGenesisBlock ()
1831
1850
case ctx .GlobalBool (GoerliFlag .Name ):
0 commit comments