diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-10-09 16:31:37 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-10-09 16:31:37 +0800 |
commit | 315a422ba754eae10db21990a809f608f7af62d4 (patch) | |
tree | 56924b100b906cd4f6da5ac13540c175df756988 /cmd/utils/flags.go | |
parent | 9e91579105e94395a108d43ec3ac0ae0e0f139c5 (diff) | |
parent | 1de796f10134bb4aa245591e0d8802e320892efb (diff) | |
download | go-tangerine-315a422ba754eae10db21990a809f608f7af62d4.tar.gz go-tangerine-315a422ba754eae10db21990a809f608f7af62d4.tar.zst go-tangerine-315a422ba754eae10db21990a809f608f7af62d4.zip |
Merge pull request #1888 from obscuren/testnet
cmd, core, eth: added official testnet
Diffstat (limited to 'cmd/utils/flags.go')
-rw-r--r-- | cmd/utils/flags.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index e2184003c..53faeefdc 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -127,6 +127,10 @@ var ( Name: "dev", Usage: "Developer mode. This mode creates a private network and sets several debugging flags", } + TestNetFlag = cli.BoolFlag{ + Name: "testnet", + Usage: "Testnet mode. This enables your node to operate on the testnet", + } IdentityFlag = cli.StringFlag{ Name: "identity", Usage: "Custom node name", @@ -454,6 +458,17 @@ func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config { AutoDAG: ctx.GlobalBool(AutoDAGFlag.Name) || ctx.GlobalBool(MiningEnabledFlag.Name), } + if ctx.GlobalBool(DevModeFlag.Name) && ctx.GlobalBool(TestNetFlag.Name) { + glog.Fatalf("%s and %s are mutually exclusive\n", DevModeFlag.Name, TestNetFlag.Name) + } + + if ctx.GlobalBool(TestNetFlag.Name) { + // testnet is always stored in the testnet folder + cfg.DataDir += "/testnet" + cfg.NetworkId = 2 + cfg.TestNet = true + } + if ctx.GlobalBool(DevModeFlag.Name) { if !ctx.GlobalIsSet(VMDebugFlag.Name) { cfg.VmDebug = true @@ -555,6 +570,9 @@ func MakeChain(ctx *cli.Context) (chain *core.BlockChain, chainDb ethdb.Database // MakeChain creates an account manager from set command line flags. func MakeAccountManager(ctx *cli.Context) *accounts.Manager { dataDir := MustDataDir(ctx) + if ctx.GlobalBool(TestNetFlag.Name) { + dataDir += "/testnet" + } ks := crypto.NewKeyStorePassphrase(filepath.Join(dataDir, "keystore")) return accounts.NewManager(ks) } |