@@ -128,7 +128,7 @@ var (
128
128
}
129
129
NetworkIdFlag = cli.Uint64Flag {
130
130
Name : "networkid" ,
131
- Usage : "Network identifier (integer, 1=Frontier, 2=Morden (disused), 3=Ropsten, 4=Rinkeby)" ,
131
+ Usage : "Network identifier (integer, 1=Frontier, 2=Morden (disused), 3=Ropsten, 4=Rinkeby, 5=Ottoman )" ,
132
132
Value : eth .DefaultConfig .NetworkId ,
133
133
}
134
134
TestnetFlag = cli.BoolFlag {
@@ -143,6 +143,10 @@ var (
143
143
Name : "dev" ,
144
144
Usage : "Ephemeral proof-of-authority network with a pre-funded developer account, mining enabled" ,
145
145
}
146
+ OttomanFlag = cli.BoolFlag {
147
+ Name : "ottoman" ,
148
+ Usage : "Ottoman network: pre-configured istanbul bft test network" ,
149
+ }
146
150
DeveloperPeriodFlag = cli.IntFlag {
147
151
Name : "dev.period" ,
148
152
Usage : "Block period to use in developer mode (0 = mine only if transaction pending)" ,
@@ -557,6 +561,9 @@ func MakeDataDir(ctx *cli.Context) string {
557
561
if ctx .GlobalBool (RinkebyFlag .Name ) {
558
562
return filepath .Join (path , "rinkeby" )
559
563
}
564
+ if ctx .GlobalBool (OttomanFlag .Name ) {
565
+ return filepath .Join (path , "ottoman" )
566
+ }
560
567
return path
561
568
}
562
569
Fatalf ("Cannot determine default data directory, please set manually (--datadir)" )
@@ -611,6 +618,8 @@ func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) {
611
618
urls = params .TestnetBootnodes
612
619
case ctx .GlobalBool (RinkebyFlag .Name ):
613
620
urls = params .RinkebyBootnodes
621
+ case ctx .GlobalBool (OttomanFlag .Name ):
622
+ urls = params .OttomanBootnodes
614
623
case cfg .BootstrapNodes != nil :
615
624
return // already set, don't apply defaults.
616
625
}
@@ -897,6 +906,8 @@ func SetNodeConfig(ctx *cli.Context, cfg *node.Config) {
897
906
cfg .DataDir = filepath .Join (node .DefaultDataDir (), "testnet" )
898
907
case ctx .GlobalBool (RinkebyFlag .Name ):
899
908
cfg .DataDir = filepath .Join (node .DefaultDataDir (), "rinkeby" )
909
+ case ctx .GlobalBool (OttomanFlag .Name ):
910
+ cfg .DataDir = filepath .Join (node .DefaultDataDir (), "ottoman" )
900
911
}
901
912
902
913
if ctx .GlobalIsSet (KeyStoreDirFlag .Name ) {
@@ -1033,7 +1044,7 @@ func SetShhConfig(ctx *cli.Context, stack *node.Node, cfg *whisper.Config) {
1033
1044
// SetEthConfig applies eth-related command line flags to the config.
1034
1045
func SetEthConfig (ctx * cli.Context , stack * node.Node , cfg * eth.Config ) {
1035
1046
// Avoid conflicting network flags
1036
- checkExclusive (ctx , DeveloperFlag , TestnetFlag , RinkebyFlag )
1047
+ checkExclusive (ctx , DeveloperFlag , TestnetFlag , RinkebyFlag , OttomanFlag )
1037
1048
checkExclusive (ctx , FastSyncFlag , LightModeFlag , SyncModeFlag )
1038
1049
checkExclusive (ctx , LightServFlag , LightModeFlag )
1039
1050
checkExclusive (ctx , LightServFlag , SyncModeFlag , "light" )
@@ -1128,6 +1139,11 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) {
1128
1139
if ! ctx .GlobalIsSet (GasPriceFlag .Name ) {
1129
1140
cfg .GasPrice = big .NewInt (1 )
1130
1141
}
1142
+ case ctx .GlobalBool (OttomanFlag .Name ):
1143
+ if ! ctx .GlobalIsSet (NetworkIdFlag .Name ) {
1144
+ cfg .NetworkId = 5
1145
+ }
1146
+ cfg .Genesis = core .DefaultOttomanGenesisBlock ()
1131
1147
}
1132
1148
// TODO(fjl): move trie cache generations into config
1133
1149
if gen := ctx .GlobalInt (TrieCacheGenFlag .Name ); gen > 0 {
@@ -1229,6 +1245,8 @@ func MakeGenesis(ctx *cli.Context) *core.Genesis {
1229
1245
genesis = core .DefaultRinkebyGenesisBlock ()
1230
1246
case ctx .GlobalBool (DeveloperFlag .Name ):
1231
1247
Fatalf ("Developer chains are ephemeral" )
1248
+ case ctx .GlobalBool (OttomanFlag .Name ):
1249
+ genesis = core .DefaultOttomanGenesisBlock ()
1232
1250
}
1233
1251
return genesis
1234
1252
}
0 commit comments