diff options
author | obscuren <geffobscura@gmail.com> | 2015-05-27 19:08:06 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-05-27 19:30:52 +0800 |
commit | 12650e16d3aa453a65417a79d79af5ce98cc4b01 (patch) | |
tree | 263463ffc6f1bbd4d958132f3bb3f8e30cd15d4c /miner/worker.go | |
parent | 34729c365bf61de48162a3c6d72f475e9f43a4b0 (diff) | |
download | dexon-12650e16d3aa453a65417a79d79af5ce98cc4b01.tar dexon-12650e16d3aa453a65417a79d79af5ce98cc4b01.tar.gz dexon-12650e16d3aa453a65417a79d79af5ce98cc4b01.tar.bz2 dexon-12650e16d3aa453a65417a79d79af5ce98cc4b01.tar.lz dexon-12650e16d3aa453a65417a79d79af5ce98cc4b01.tar.xz dexon-12650e16d3aa453a65417a79d79af5ce98cc4b01.tar.zst dexon-12650e16d3aa453a65417a79d79af5ce98cc4b01.zip |
core, miner: fixed miner time issue and removed future blocks
* Miner should no longer generate blocks with a time stamp less or equal
than it's parent.
* Future blocks are no longer processed and queued directly.
Closes #1118
Diffstat (limited to 'miner/worker.go')
-rw-r--r-- | miner/worker.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/miner/worker.go b/miner/worker.go index 12ed65626..182b99398 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -287,8 +287,10 @@ func (self *worker) push() { func (self *worker) makeCurrent() { block := self.chain.NewBlock(self.coinbase) - if block.Time() == self.chain.CurrentBlock().Time() { - block.Header().Time++ + parent := self.chain.GetBlock(block.ParentHash()) + + if block.Time() <= parent.Time() { + block.Header().Time = parent.Header().Time + 1 } block.Header().Extra = self.extra @@ -312,7 +314,6 @@ func (self *worker) makeCurrent() { current.localMinedBlocks = self.current.localMinedBlocks } - parent := self.chain.GetBlock(current.block.ParentHash()) current.coinbase.SetGasPool(core.CalcGasLimit(parent)) self.current = current |