From 2ce30382d9bbda91e3b253029082e6add2d51294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Wed, 4 Jan 2017 10:42:41 +0200 Subject: [PATCH] cmd/utils, eth, les: bubble --fakepow flag into eth/les too --- cmd/utils/flags.go | 1 + eth/backend.go | 14 ++++++++------ les/backend.go | 6 ++---- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 9df891f788..1cb975a177 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -749,6 +749,7 @@ func RegisterEthService(ctx *cli.Context, stack *node.Node, extra []byte) { GpobaseCorrectionFactor: ctx.GlobalInt(GpobaseCorrectionFactorFlag.Name), SolcPath: ctx.GlobalString(SolcPathFlag.Name), AutoDAG: ctx.GlobalBool(AutoDAGFlag.Name) || ctx.GlobalBool(MiningEnabledFlag.Name), + PowFake: ctx.GlobalBool(FakePoWFlag.Name), } // Override any default configs in dev mode or the test net diff --git a/eth/backend.go b/eth/backend.go index f98c9b7240..dec8c0c6ed 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -45,6 +45,7 @@ import ( "github.com/ethereum/go-ethereum/node" "github.com/ethereum/go-ethereum/p2p" "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/pow" "github.com/ethereum/go-ethereum/rpc" ) @@ -79,6 +80,7 @@ type Config struct { NatSpec bool DocRoot string AutoDAG bool + PowFake bool PowTest bool PowShared bool ExtraData []byte @@ -125,7 +127,7 @@ type Ethereum struct { chainDb ethdb.Database // Block chain database eventMux *event.TypeMux - pow *ethash.Ethash + pow pow.PoW accountManager *accounts.Manager ApiBackend *EthApiBackend @@ -139,7 +141,6 @@ type Ethereum struct { solcPath string NatSpec bool - PowTest bool netVersionId int netRPCService *ethapi.PublicNetAPI } @@ -174,7 +175,6 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) { stopDbUpgrade: stopDbUpgrade, netVersionId: config.NetworkId, NatSpec: config.NatSpec, - PowTest: config.PowTest, etherbase: config.Etherbase, MinerThreads: config.MinerThreads, AutoDAG: config.AutoDAG, @@ -293,15 +293,17 @@ func SetupGenesisBlock(chainDb *ethdb.Database, config *Config) error { } // CreatePoW creates the required type of PoW instance for an Ethereum service -func CreatePoW(config *Config) (*ethash.Ethash, error) { +func CreatePoW(config *Config) (pow.PoW, error) { switch { + case config.PowFake: + glog.V(logger.Info).Infof("ethash used in fake mode") + return pow.PoW(core.FakePow{}), nil case config.PowTest: glog.V(logger.Info).Infof("ethash used in test mode") return ethash.NewForTesting() case config.PowShared: glog.V(logger.Info).Infof("ethash used in shared mode") return ethash.NewShared(), nil - default: return ethash.New(), nil } @@ -399,7 +401,7 @@ func (s *Ethereum) AccountManager() *accounts.Manager { return s.accountManager func (s *Ethereum) BlockChain() *core.BlockChain { return s.blockchain } func (s *Ethereum) TxPool() *core.TxPool { return s.txPool } func (s *Ethereum) EventMux() *event.TypeMux { return s.eventMux } -func (s *Ethereum) Pow() *ethash.Ethash { return s.pow } +func (s *Ethereum) Pow() pow.PoW { return s.pow } func (s *Ethereum) ChainDb() ethdb.Database { return s.chainDb } func (s *Ethereum) IsListening() bool { return true } // Always listening func (s *Ethereum) EthVersion() int { return int(s.protocolManager.SubProtocols[0].Version) } diff --git a/les/backend.go b/les/backend.go index d21d5a98cf..3deab61f72 100644 --- a/les/backend.go +++ b/les/backend.go @@ -22,7 +22,6 @@ import ( "fmt" "time" - "github.com/ethereum/ethash" "github.com/ethereum/go-ethereum/accounts" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/compiler" @@ -42,6 +41,7 @@ import ( "github.com/ethereum/go-ethereum/node" "github.com/ethereum/go-ethereum/p2p" "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/pow" rpc "github.com/ethereum/go-ethereum/rpc" ) @@ -61,13 +61,12 @@ type LightEthereum struct { ApiBackend *LesApiBackend eventMux *event.TypeMux - pow *ethash.Ethash + pow pow.PoW accountManager *accounts.Manager solcPath string solc *compiler.Solidity NatSpec bool - PowTest bool netVersionId int netRPCService *ethapi.PublicNetAPI } @@ -97,7 +96,6 @@ func New(ctx *node.ServiceContext, config *eth.Config) (*LightEthereum, error) { shutdownChan: make(chan bool), netVersionId: config.NetworkId, NatSpec: config.NatSpec, - PowTest: config.PowTest, solcPath: config.SolcPath, }