diff options
author | obscuren <geffobscura@gmail.com> | 2015-03-24 05:59:19 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-03-24 05:59:19 +0800 |
commit | 0ee0094cc02e81d3a9f5b00cd7cdd421ee069492 (patch) | |
tree | 46a350004fb700c1cd8f88224c92f1c639c6ed6b | |
parent | 7b8a47f4846cd821ecc1f96e381980f7bca1922b (diff) | |
download | dexon-0ee0094cc02e81d3a9f5b00cd7cdd421ee069492.tar.gz dexon-0ee0094cc02e81d3a9f5b00cd7cdd421ee069492.tar.zst dexon-0ee0094cc02e81d3a9f5b00cd7cdd421ee069492.zip |
better block propagation
-rw-r--r-- | core/chain_manager.go | 4 | ||||
-rw-r--r-- | eth/backend.go | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/core/chain_manager.go b/core/chain_manager.go index 3e030838a..f0d3fd4cf 100644 --- a/core/chain_manager.go +++ b/core/chain_manager.go @@ -8,11 +8,11 @@ import ( "sync" "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/state" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/event" "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/rlp" - "github.com/ethereum/go-ethereum/core/state" ) var ( @@ -523,7 +523,7 @@ out: case ChainEvent: // We need some control over the mining operation. Acquiring locks and waiting for the miner to create new block takes too long // and in most cases isn't even necessary. - if i == ev.canonicalCount { + if i+1 == ev.canonicalCount { self.eventMux.Post(ChainHeadEvent{event.Block}) } case ChainSplitEvent: diff --git a/eth/backend.go b/eth/backend.go index 446f06531..3f7f7c2cb 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -355,7 +355,7 @@ func (s *Ethereum) Start() error { go s.txBroadcastLoop() // broadcast mined blocks - s.blockSub = s.eventMux.Subscribe(core.NewMinedBlockEvent{}) + s.blockSub = s.eventMux.Subscribe(core.ChainHeadEvent{}) go s.blockBroadcastLoop() servlogger.Infoln("Server started") @@ -421,7 +421,7 @@ func (self *Ethereum) blockBroadcastLoop() { // automatically stops if unsubscribe for obj := range self.blockSub.Chan() { switch ev := obj.(type) { - case core.NewMinedBlockEvent: + case core.ChainHeadEvent: self.net.Broadcast("eth", NewBlockMsg, []interface{}{ev.Block, ev.Block.Td}) } } |