miner: broadcast block before insertion/validation
This commit is contained in:
parent
5e7db8f5cd
commit
059a1e9e4e
@ -239,12 +239,16 @@ func (self *worker) wait() {
|
|||||||
continue
|
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 {
|
if _, err := self.chain.InsertChain(types.Blocks{block}); err == nil {
|
||||||
|
// remove uncles we've previously inserted
|
||||||
for _, uncle := range block.Uncles() {
|
for _, uncle := range block.Uncles() {
|
||||||
delete(self.possibleUncles, uncle.Hash())
|
delete(self.possibleUncles, uncle.Hash())
|
||||||
}
|
}
|
||||||
self.mux.Post(core.NewMinedBlockEvent{block})
|
|
||||||
|
|
||||||
|
// check staleness and display confirmation
|
||||||
var stale, confirm string
|
var stale, confirm string
|
||||||
canonBlock := self.chain.GetBlockByNumber(block.NumberU64())
|
canonBlock := self.chain.GetBlockByNumber(block.NumberU64())
|
||||||
if canonBlock != nil && canonBlock.Hash() != block.Hash() {
|
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)
|
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{
|
jsonlogger.LogJson(&logger.EthMinerNewBlock{
|
||||||
BlockHash: block.Hash().Hex(),
|
BlockHash: block.Hash().Hex(),
|
||||||
BlockNumber: block.Number(),
|
BlockNumber: block.Number(),
|
||||||
|
Loading…
Reference in New Issue
Block a user