diff options
Diffstat (limited to 'miner')
-rw-r--r-- | miner/miner.go | 5 | ||||
-rw-r--r-- | miner/worker.go | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/miner/miner.go b/miner/miner.go index b95c65859..d3b1f578a 100644 --- a/miner/miner.go +++ b/miner/miner.go @@ -3,6 +3,7 @@ package miner import ( "math/big" + "github.com/ethereum/ethash" "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/pow" @@ -44,6 +45,8 @@ func (self *Miner) Mining() bool { func (self *Miner) Start() { self.mining = true + self.pow.(*ethash.Ethash).UpdateDAG() + self.worker.start() self.worker.commitNewWork() @@ -53,6 +56,8 @@ func (self *Miner) Stop() { self.mining = false self.worker.stop() + + //self.pow.(*ethash.Ethash).Stop() } func (self *Miner) HashRate() int64 { diff --git a/miner/worker.go b/miner/worker.go index 29992b327..21a0522e8 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -30,7 +30,7 @@ type environment struct { } func env(block *types.Block, eth core.Backend) *environment { - state := state.New(block.Root(), eth.Db()) + state := state.New(block.Root(), eth.StateDb()) env := &environment{ totalUsedGas: new(big.Int), state: state, @@ -116,7 +116,7 @@ func (self *worker) register(agent Agent) { } func (self *worker) update() { - events := self.mux.Subscribe(core.ChainEvent{}, core.NewMinedBlockEvent{}) + events := self.mux.Subscribe(core.ChainHeadEvent{}, core.NewMinedBlockEvent{}) timer := time.NewTicker(2 * time.Second) @@ -125,7 +125,7 @@ out: select { case event := <-events.Chan(): switch ev := event.(type) { - case core.ChainEvent: + case core.ChainHeadEvent: if self.current.block != ev.Block { self.commitNewWork() } |