aboutsummaryrefslogtreecommitdiffstats
path: root/miner
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-05-27 19:08:06 +0800
committerobscuren <geffobscura@gmail.com>2015-05-27 19:30:52 +0800
commit12650e16d3aa453a65417a79d79af5ce98cc4b01 (patch)
tree263463ffc6f1bbd4d958132f3bb3f8e30cd15d4c /miner
parent34729c365bf61de48162a3c6d72f475e9f43a4b0 (diff)
downloaddexon-12650e16d3aa453a65417a79d79af5ce98cc4b01.tar.gz
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')
-rw-r--r--miner/worker.go7
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