From 23ad2f02c0992c212d7d179991560eb44f1b1f78 Mon Sep 17 00:00:00 2001 From: obscuren Date: Fri, 6 Mar 2015 10:22:40 +0100 Subject: debug comments & pow handling --- miner/miner.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'miner') diff --git a/miner/miner.go b/miner/miner.go index b95c65859..490296431 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" @@ -29,7 +30,6 @@ func New(coinbase []byte, eth core.Backend, pow pow.PoW, minerThreads int) *Mine pow: pow, } - minerThreads = 1 for i := 0; i < minerThreads; i++ { miner.worker.register(NewCpuMiner(i, miner.pow)) } @@ -44,6 +44,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 +55,8 @@ func (self *Miner) Stop() { self.mining = false self.worker.stop() + + //self.pow.(*ethash.Ethash).Stop() } func (self *Miner) HashRate() int64 { -- cgit v1.2.3 From 8d9be18b296afb8302249dcc96651aabb0975e26 Mon Sep 17 00:00:00 2001 From: obscuren Date: Fri, 6 Mar 2015 15:50:44 +0100 Subject: Queued approach to delivering chain events --- miner/miner.go | 1 + miner/worker.go | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'miner') diff --git a/miner/miner.go b/miner/miner.go index 490296431..d3b1f578a 100644 --- a/miner/miner.go +++ b/miner/miner.go @@ -30,6 +30,7 @@ func New(coinbase []byte, eth core.Backend, pow pow.PoW, minerThreads int) *Mine pow: pow, } + minerThreads = 1 for i := 0; i < minerThreads; i++ { miner.worker.register(NewCpuMiner(i, miner.pow)) } diff --git a/miner/worker.go b/miner/worker.go index 29992b327..cd105fa73 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -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() } -- cgit v1.2.3 From cd856cb2133d390758bb24b88fa3b538bb7bc306 Mon Sep 17 00:00:00 2001 From: obscuren Date: Fri, 6 Mar 2015 18:26:16 +0100 Subject: Separated block db from state db. Partial fix for #416 --- miner/worker.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'miner') diff --git a/miner/worker.go b/miner/worker.go index cd105fa73..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, -- cgit v1.2.3