diff options
author | Jeffrey Wilcke <geffobscura@gmail.com> | 2015-06-28 19:38:21 +0800 |
---|---|---|
committer | Jeffrey Wilcke <geffobscura@gmail.com> | 2015-06-29 19:31:49 +0800 |
commit | 059a1e9e4edeb75cef6da05936835cfbc61e1350 (patch) | |
tree | 5ba5f1f196786898960d596c9f6161345f730543 /miner | |
parent | 5e7db8f5cd4e44eed67334d1dd0af5854f271232 (diff) | |
download | dexon-059a1e9e4edeb75cef6da05936835cfbc61e1350.tar.gz dexon-059a1e9e4edeb75cef6da05936835cfbc61e1350.tar.zst dexon-059a1e9e4edeb75cef6da05936835cfbc61e1350.zip |
miner: broadcast block before insertion/validation
Diffstat (limited to 'miner')
-rw-r--r-- | miner/worker.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/miner/worker.go b/miner/worker.go index 55c23376c..2955a9dee 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -239,12 +239,16 @@ func (self *worker) wait() { continue } + // broadcast before waiting for validation + go self.mux.Post(core.NewMinedBlockEvent{block}) + // insert mined block in to our own chain if _, err := self.chain.InsertChain(types.Blocks{block}); err == nil { + // remove uncles we've previously inserted for _, uncle := range block.Uncles() { delete(self.possibleUncles, uncle.Hash()) } - self.mux.Post(core.NewMinedBlockEvent{block}) + // check staleness and display confirmation var stale, confirm string canonBlock := self.chain.GetBlockByNumber(block.NumberU64()) if canonBlock != nil && canonBlock.Hash() != block.Hash() { @@ -256,6 +260,7 @@ func (self *worker) wait() { glog.V(logger.Info).Infof("🔨 Mined %sblock (#%v / %x). %s", stale, block.Number(), block.Hash().Bytes()[:4], confirm) + // XXX remove old structured json logging jsonlogger.LogJson(&logger.EthMinerNewBlock{ BlockHash: block.Hash().Hex(), BlockNumber: block.Number(), |