aboutsummaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2015-09-11 03:15:33 +0800
committerFelix Lange <fjl@twurst.com>2015-09-11 03:15:33 +0800
commit4e075e401354b4ee068cf78b1f283763fe927245 (patch)
tree09de03b1fb972223932e8a9388379bbf0e3bc6e4 /cmd
parent62bbf8a09e7304611f57fb7eea92911cf52e6229 (diff)
parentf04b3a6f293ef15151dc040183ab74ef5ce54d2a (diff)
downloadgo-tangerine-4e075e401354b4ee068cf78b1f283763fe927245.tar
go-tangerine-4e075e401354b4ee068cf78b1f283763fe927245.tar.gz
go-tangerine-4e075e401354b4ee068cf78b1f283763fe927245.tar.bz2
go-tangerine-4e075e401354b4ee068cf78b1f283763fe927245.tar.lz
go-tangerine-4e075e401354b4ee068cf78b1f283763fe927245.tar.xz
go-tangerine-4e075e401354b4ee068cf78b1f283763fe927245.tar.zst
go-tangerine-4e075e401354b4ee068cf78b1f283763fe927245.zip
Merge pull request #1773 from obscuren/dev-mode
cmd/geth, cmd/utils, eth: added dev mode flag
Diffstat (limited to 'cmd')
-rw-r--r--cmd/geth/main.go1
-rw-r--r--cmd/utils/flags.go33
2 files changed, 33 insertions, 1 deletions
diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index aacb588fe..f72f69791 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -308,6 +308,7 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
utils.IPCPathFlag,
utils.ExecFlag,
utils.WhisperEnabledFlag,
+ utils.DevModeFlag,
utils.VMDebugFlag,
utils.VMForceJitFlag,
utils.VMJitCacheFlag,
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 80805ca22..95fb649e6 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -121,6 +121,10 @@ var (
Name: "genesis",
Usage: "Inserts/Overwrites the genesis block (json format)",
}
+ DevModeFlag = cli.BoolFlag{
+ Name: "dev",
+ Usage: "Developer mode. This mode creates a private network and sets several debugging flags",
+ }
IdentityFlag = cli.StringFlag{
Name: "identity",
Usage: "Custom node name",
@@ -410,7 +414,7 @@ func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config {
glog.V(logger.Error).Infoln("WARNING: No etherbase set and no accounts found as default")
}
- return &eth.Config{
+ cfg := &eth.Config{
Name: common.MakeName(clientID, version),
DataDir: ctx.GlobalString(DataDirFlag.Name),
GenesisNonce: ctx.GlobalInt(GenesisNonceFlag.Name),
@@ -447,6 +451,33 @@ func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config {
SolcPath: ctx.GlobalString(SolcPathFlag.Name),
AutoDAG: ctx.GlobalBool(AutoDAGFlag.Name) || ctx.GlobalBool(MiningEnabledFlag.Name),
}
+
+ if ctx.GlobalBool(DevModeFlag.Name) {
+ if !ctx.GlobalIsSet(VMDebugFlag.Name) {
+ cfg.VmDebug = true
+ }
+ if !ctx.GlobalIsSet(MaxPeersFlag.Name) {
+ cfg.MaxPeers = 0
+ }
+ if !ctx.GlobalIsSet(GasPriceFlag.Name) {
+ cfg.GasPrice = new(big.Int)
+ }
+ if !ctx.GlobalIsSet(ListenPortFlag.Name) {
+ cfg.Port = "0" // auto port
+ }
+ if !ctx.GlobalIsSet(WhisperEnabledFlag.Name) {
+ cfg.Shh = true
+ }
+ if !ctx.GlobalIsSet(DataDirFlag.Name) {
+ cfg.DataDir = os.TempDir() + "/ethereum_dev_mode"
+ }
+ cfg.PowTest = true
+ cfg.DevMode = true
+
+ glog.V(logger.Info).Infoln("dev mode enabled")
+ }
+
+ return cfg
}
// SetupLogger configures glog from the logging-related command line flags.