move gap into genesis config

This commit is contained in:
Tuna 2018-07-31 11:52:08 +07:00
parent 4e9666b301
commit 3442205b15
4 changed files with 7 additions and 3 deletions

View file

@ -108,6 +108,10 @@ func (w *wizard) makeGenesis() {
genesis.Config.Clique.Epoch = uint64(w.readDefaultInt(990)) genesis.Config.Clique.Epoch = uint64(w.readDefaultInt(990))
genesis.Config.Clique.RewardCheckpoint = genesis.Config.Clique.Epoch genesis.Config.Clique.RewardCheckpoint = genesis.Config.Clique.Epoch
fmt.Println()
fmt.Println("How many blocks before checkpoint need to prepare new set of masternodes? (default = 50)")
genesis.Config.Clique.Gap = uint64(w.readDefaultInt(50))
default: default:
log.Crit("Invalid consensus engine choice", "choice", choice) log.Crit("Invalid consensus engine choice", "choice", choice)
} }

View file

@ -62,7 +62,6 @@ const (
// BlockChainVersion ensures that an incompatible database forces a resync from scratch. // BlockChainVersion ensures that an incompatible database forces a resync from scratch.
BlockChainVersion = 3 BlockChainVersion = 3
M1Gap = 5
) )
// CacheConfig contains the configuration values for the trie caching/pruning // CacheConfig contains the configuration values for the trie caching/pruning
@ -1193,7 +1192,7 @@ func (bc *BlockChain) insertChain(chain types.Blocks) (int, []interface{}, []*ty
CheckpointCh <- 1 CheckpointCh <- 1
} }
// prepare set of masternodes for the next epoch // prepare set of masternodes for the next epoch
if (chain[i].NumberU64() % bc.chainConfig.Clique.Epoch) == (bc.chainConfig.Clique.Epoch - M1Gap) { if (chain[i].NumberU64() % bc.chainConfig.Clique.Epoch) == (bc.chainConfig.Clique.Epoch - bc.chainConfig.Clique.Gap) {
M1Ch <- 1 M1Ch <- 1
} }
} }

View file

@ -588,7 +588,7 @@ func (self *worker) commitNewWork() {
core.CheckpointCh <- 1 core.CheckpointCh <- 1
} }
// prepare set of masternodes for the next epoch // prepare set of masternodes for the next epoch
if (work.Block.NumberU64() % work.config.Clique.Epoch) == (work.config.Clique.Epoch - core.M1Gap) { if (work.Block.NumberU64() % work.config.Clique.Epoch) == (work.config.Clique.Epoch - work.config.Clique.Gap) {
core.M1Ch <- 1 core.M1Ch <- 1
} }
} }

View file

@ -137,6 +137,7 @@ type CliqueConfig struct {
Epoch uint64 `json:"epoch"` // Epoch length to reset votes and checkpoint Epoch uint64 `json:"epoch"` // Epoch length to reset votes and checkpoint
Reward uint64 `json:"reward"` // Block reward - unit Ether Reward uint64 `json:"reward"` // Block reward - unit Ether
RewardCheckpoint uint64 `json:"rewardCheckpoint"` // Checkpoint block for calculate rewards. RewardCheckpoint uint64 `json:"rewardCheckpoint"` // Checkpoint block for calculate rewards.
Gap uint64 `json:"gap"` // Gap time preparing for the next epoch
} }
// String implements the stringer interface, returning the consensus engine details. // String implements the stringer interface, returning the consensus engine details.