aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2016-04-21 17:14:57 +0800
committerPéter Szilágyi <peterke@gmail.com>2016-04-21 17:14:57 +0800
commitb06f44ecc2b8f0c0506dd4239ee3d70eac4d1005 (patch)
tree427e186ce661bf4b8f0151d6080436c26eb22050
parent18580e152c1a2480b6245ebba4c62c202ed20ac6 (diff)
downloaddexon-b06f44ecc2b8f0c0506dd4239ee3d70eac4d1005.tar.gz
dexon-b06f44ecc2b8f0c0506dd4239ee3d70eac4d1005.tar.zst
dexon-b06f44ecc2b8f0c0506dd4239ee3d70eac4d1005.zip
cmd: add a `--fakepow` flag to help benchmarking database changes
-rw-r--r--cmd/geth/main.go1
-rw-r--r--cmd/geth/usage.go7
-rw-r--r--cmd/utils/flags.go13
3 files changed, 16 insertions, 5 deletions
diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index 6ab4ed45b..c33e04f06 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -205,6 +205,7 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
utils.NetworkIdFlag,
utils.RPCCORSDomainFlag,
utils.MetricsEnabledFlag,
+ utils.FakePoWFlag,
utils.SolcPathFlag,
utils.GpoMinGasPriceFlag,
utils.GpoMaxGasPriceFlag,
diff --git a/cmd/geth/usage.go b/cmd/geth/usage.go
index 278a55980..90019d7b9 100644
--- a/cmd/geth/usage.go
+++ b/cmd/geth/usage.go
@@ -150,8 +150,11 @@ var AppHelpFlagGroups = []flagGroup{
},
},
{
- Name: "LOGGING AND DEBUGGING",
- Flags: append([]cli.Flag{utils.MetricsEnabledFlag}, debug.Flags...),
+ Name: "LOGGING AND DEBUGGING",
+ Flags: append([]cli.Flag{
+ utils.MetricsEnabledFlag,
+ utils.FakePoWFlag,
+ }, debug.Flags...),
},
{
Name: "EXPERIMENTAL",
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 52060c795..8d55ac8b9 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -47,6 +47,7 @@ import (
"github.com/ethereum/go-ethereum/p2p/discover"
"github.com/ethereum/go-ethereum/p2p/nat"
"github.com/ethereum/go-ethereum/params"
+ "github.com/ethereum/go-ethereum/pow"
"github.com/ethereum/go-ethereum/rpc"
"github.com/ethereum/go-ethereum/whisper"
)
@@ -228,6 +229,10 @@ var (
Name: metrics.MetricsEnabledFlag,
Usage: "Enable metrics collection and reporting",
}
+ FakePoWFlag = cli.BoolFlag{
+ Name: "fakepow",
+ Usage: "Disables proof-of-work verification",
+ }
// RPC settings
RPCEnabledFlag = cli.BoolFlag{
@@ -842,11 +847,13 @@ func MakeChain(ctx *cli.Context) (chain *core.BlockChain, chainDb ethdb.Database
glog.Fatalln(err)
}
}
-
chainConfig := MustMakeChainConfigFromDb(ctx, chainDb)
- var eventMux event.TypeMux
- chain, err = core.NewBlockChain(chainDb, chainConfig, ethash.New(), &eventMux)
+ pow := pow.PoW(core.FakePow{})
+ if !ctx.GlobalBool(FakePoWFlag.Name) {
+ pow = ethash.New()
+ }
+ chain, err = core.NewBlockChain(chainDb, chainConfig, pow, new(event.TypeMux))
if err != nil {
Fatalf("Could not start chainmanager: %v", err)
}