aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Wilcke <geffobscura@gmail.com>2015-06-28 19:38:21 +0800
committerJeffrey Wilcke <geffobscura@gmail.com>2015-06-29 19:31:49 +0800
commit059a1e9e4edeb75cef6da05936835cfbc61e1350 (patch)
tree5ba5f1f196786898960d596c9f6161345f730543
parent5e7db8f5cd4e44eed67334d1dd0af5854f271232 (diff)
downloaddexon-059a1e9e4edeb75cef6da05936835cfbc61e1350.tar
dexon-059a1e9e4edeb75cef6da05936835cfbc61e1350.tar.gz
dexon-059a1e9e4edeb75cef6da05936835cfbc61e1350.tar.bz2
dexon-059a1e9e4edeb75cef6da05936835cfbc61e1350.tar.lz
dexon-059a1e9e4edeb75cef6da05936835cfbc61e1350.tar.xz
dexon-059a1e9e4edeb75cef6da05936835cfbc61e1350.tar.zst
dexon-059a1e9e4edeb75cef6da05936835cfbc61e1350.zip
miner: broadcast block before insertion/validation
-rw-r--r--miner/worker.go7
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(),