aboutsummaryrefslogtreecommitdiffstats
path: root/consensus/ethash
diff options
context:
space:
mode:
authorMartin Holst Swende <martin@swende.se>2017-12-08 17:06:16 +0800
committerMartin Holst Swende <martin@swende.se>2017-12-08 17:06:16 +0800
commit79d5e5593fc86190a5f67d9c48b3de365075c9cd (patch)
tree2f93488207b0a06d296cce365afbce45c7f20b23 /consensus/ethash
parentb5874273cec729adce84acf5848536d20fb60f7c (diff)
downloadgo-tangerine-79d5e5593fc86190a5f67d9c48b3de365075c9cd.tar.gz
go-tangerine-79d5e5593fc86190a5f67d9c48b3de365075c9cd.tar.zst
go-tangerine-79d5e5593fc86190a5f67d9c48b3de365075c9cd.zip
consensus/ethash: relax requirements when determining future-blocks
Diffstat (limited to 'consensus/ethash')
-rw-r--r--consensus/ethash/consensus.go9
1 files changed, 5 insertions, 4 deletions
diff --git a/consensus/ethash/consensus.go b/consensus/ethash/consensus.go
index 775419e06..2bdb18677 100644
--- a/consensus/ethash/consensus.go
+++ b/consensus/ethash/consensus.go
@@ -36,9 +36,10 @@ import (
// Ethash proof-of-work protocol constants.
var (
- FrontierBlockReward *big.Int = big.NewInt(5e+18) // Block reward in wei for successfully mining a block
- ByzantiumBlockReward *big.Int = big.NewInt(3e+18) // Block reward in wei for successfully mining a block upward from Byzantium
- maxUncles = 2 // Maximum number of uncles allowed in a single block
+ FrontierBlockReward *big.Int = big.NewInt(5e+18) // Block reward in wei for successfully mining a block
+ ByzantiumBlockReward *big.Int = big.NewInt(3e+18) // Block reward in wei for successfully mining a block upward from Byzantium
+ maxUncles = 2 // Maximum number of uncles allowed in a single block
+ allowedFutureBlockTime = 15 * time.Second // Max time from current time allowed for blocks, before they're considered future blocks
)
// Various error messages to mark blocks invalid. These should be private to
@@ -231,7 +232,7 @@ func (ethash *Ethash) verifyHeader(chain consensus.ChainReader, header, parent *
return errLargeBlockTime
}
} else {
- if header.Time.Cmp(big.NewInt(time.Now().Unix())) > 0 {
+ if header.Time.Cmp(big.NewInt(time.Now().Add(allowedFutureBlockTime).Unix())) > 0 {
return consensus.ErrFutureBlock
}
}