aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/utils/flags.go
diff options
context:
space:
mode:
authorJeffrey Wilcke <geffobscura@gmail.com>2016-05-03 19:52:58 +0800
committerJeffrey Wilcke <geffobscura@gmail.com>2016-05-03 19:52:58 +0800
commitd52a693f802ce4445cc02a879646ca5466fb2a06 (patch)
tree0e3a017c071c8996d7470f5477087ee201ce2da2 /cmd/utils/flags.go
parent8241fa522772837f0d05511f20caa6da1d5a3209 (diff)
parent258cc73ea970890a5b75bf27197c3a6667f3bc5a (diff)
downloadgo-tangerine-d52a693f802ce4445cc02a879646ca5466fb2a06.tar
go-tangerine-d52a693f802ce4445cc02a879646ca5466fb2a06.tar.gz
go-tangerine-d52a693f802ce4445cc02a879646ca5466fb2a06.tar.bz2
go-tangerine-d52a693f802ce4445cc02a879646ca5466fb2a06.tar.lz
go-tangerine-d52a693f802ce4445cc02a879646ca5466fb2a06.tar.xz
go-tangerine-d52a693f802ce4445cc02a879646ca5466fb2a06.tar.zst
go-tangerine-d52a693f802ce4445cc02a879646ca5466fb2a06.zip
Merge branch 'develop' into release/1.4
Conflicts: cmd/geth/main.go
Diffstat (limited to 'cmd/utils/flags.go')
-rw-r--r--cmd/utils/flags.go22
1 files changed, 17 insertions, 5 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 52060c795..43dbc37f7 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -47,6 +47,8 @@ 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/release"
"github.com/ethereum/go-ethereum/rpc"
"github.com/ethereum/go-ethereum/whisper"
)
@@ -228,6 +230,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{
@@ -636,7 +642,7 @@ func MakePasswordList(ctx *cli.Context) []string {
// MakeSystemNode sets up a local node, configures the services to launch and
// assembles the P2P protocol stack.
-func MakeSystemNode(name, version string, extra []byte, ctx *cli.Context) *node.Node {
+func MakeSystemNode(name, version string, relconf release.Config, extra []byte, ctx *cli.Context) *node.Node {
// Avoid conflicting network flags
networks, netFlags := 0, []cli.BoolFlag{DevModeFlag, TestNetFlag, OlympicFlag}
for _, flag := range netFlags {
@@ -767,7 +773,11 @@ func MakeSystemNode(name, version string, extra []byte, ctx *cli.Context) *node.
Fatalf("Failed to register the Whisper service: %v", err)
}
}
-
+ if err := stack.Register(func(ctx *node.ServiceContext) (node.Service, error) {
+ return release.NewReleaseService(ctx, relconf)
+ }); err != nil {
+ Fatalf("Failed to register the Geth release oracle service: %v", err)
+ }
return stack
}
@@ -842,11 +852,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)
}