From 699dcaf65ced99517724984f5930845417cfdfca Mon Sep 17 00:00:00 2001 From: obscuren Date: Tue, 4 Nov 2014 12:46:33 +0100 Subject: Reworked chain handling process * Forks * Rename * Moved inserting of blocks & processing * Added chain testing method for validating pieces of a **a** chain. --- miner/miner.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'miner') diff --git a/miner/miner.go b/miner/miner.go index fd74da4d1..7491ab373 100644 --- a/miner/miner.go +++ b/miner/miner.go @@ -162,8 +162,9 @@ func (miner *Miner) stopMining() { func (self *Miner) mineNewBlock() { blockManager := self.ethereum.BlockManager() + chainMan := self.ethereum.ChainManager() - self.block = self.ethereum.ChainManager().NewBlock(self.coinbase) + self.block = chainMan.NewBlock(self.coinbase) // Apply uncles if len(self.uncles) > 0 { @@ -199,10 +200,12 @@ func (self *Miner) mineNewBlock() { nonce := self.pow.Search(self.block, self.powQuitChan) if nonce != nil { self.block.Nonce = nonce - err := self.ethereum.BlockManager().Process(self.block) + lchain := chain.NewChain(chain.Blocks{self.block}) + _, err := chainMan.TestChain(lchain) if err != nil { minerlogger.Infoln(err) } else { + self.ethereum.ChainManager().InsertChain(lchain) self.ethereum.Broadcast(wire.MsgBlockTy, []interface{}{self.block.Value().Val}) minerlogger.Infof("🔨 Mined block %x\n", self.block.Hash()) minerlogger.Infoln(self.block) -- cgit v1.2.3