dir : consensus/state.go
block 생성 전, 이전 block에 대한 commit 확인
var commit *types.Commit
switch {
// genesis block인 경우 이를 commit
case cs.Height == cs.state.InitialHeight:
commit = types.NewCommit(0, 0, types.BlockID{}, nil)
// 이전 block의 commit에 maj가 있는 경우
case cs.LastCommit.HasTwoThirdsMajority():
commit = cs.LastCommit.MakeCommit()
default:
return
}
Proposal block 생성 함수 호출
proposeAddr := cs.privValidatorPubKey.Address()
return cs.blockExec.CreateProposalBlock(cs.Height, cs.state, commit, proposerAddr)