Send InitChain message from ABCI to Core on Genesis
InitChain is send from the ABCI to the Core node when the ABCI app has no blocks stored.
This commit is contained in:
parent
1310c72647
commit
842609ddcb
|
@ -257,6 +257,12 @@ func (h *Handshaker) ReplayBlocks(appHash []byte, appBlockHeight int, proxyApp p
|
|||
stateBlockHeight := h.state.LastBlockHeight
|
||||
log.Notice("ABCI Replay Blocks", "appHeight", appBlockHeight, "storeHeight", storeBlockHeight, "stateHeight", stateBlockHeight)
|
||||
|
||||
// If appBlockHeight == 0 it means that we are at genesis and hence should send InitChain
|
||||
if appBlockHeight == 0 {
|
||||
validators := types.TM2PB.Validators(h.state.Validators)
|
||||
proxyApp.Consensus().InitChainSync(validators)
|
||||
}
|
||||
|
||||
// First handle edge cases and constraints on the storeBlockHeight
|
||||
if storeBlockHeight == 0 {
|
||||
return appHash, h.checkAppHash(appHash)
|
||||
|
|
|
@ -42,3 +42,11 @@ func (tm2pb) Validator(val *Validator) *types.Validator {
|
|||
Power: uint64(val.VotingPower),
|
||||
}
|
||||
}
|
||||
|
||||
func (tm2pb) Validators(vals *ValidatorSet) []*types.Validator {
|
||||
validators := make([]*types.Validator, len(vals.Validators))
|
||||
for i, val := range vals.Validators {
|
||||
validators[i] = TM2PB.Validator(val)
|
||||
}
|
||||
return validators
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue