ABCI++ vote extensions & FinalizeBlock
#12
Labels
P:new-use-cases
Priority: Enable new use cases for application developers
Milestone
This is the continuation of the work started in tendermint/tendermint#9053: backport ABCI++ implementation, which lives in the v0.36.x branch.
Once this tracking issue is completed, the whole ABCI++ interface should be ready for QA process, and then release.
Proposed Path to Done. Summary
The main idea behind this plan is to proceed in the same way as tendermint/tendermint#9053.
The main approach is:
FinalizeBlock
PrepareProposal
/ProcessProposal
related commits (as they are already inmain
via ABCI++ Prepare/Process Proposal tendermint/tendermint#9053)The work is structured very similarly to #9053. It consists of two main parts (further described below):
(1) and (2) can mostly proceed in parallel.
protobufs will be managed as in v0.37.x → They will evolve with the code
Proposed Path to Done. Details
(1) Preliminary Work
We could have two threads here, but as all these tasks serialized are shorter than the critical path in "Core Feature Work", there's no point
feature/abci++vef
feature/abci++vef
branchgit diff HEAD..v0.36.x -- test/e2e
) (tracking: e2e: add contexts and e2e generator tests tendermint/tendermint#9426)(2) Core feature work
We have three threads that can proceed in parallel:
FinalizeBlock
(*)(*) Only when vote extensions and
FinalizeBlock
are done, can we proceed with the fourth part:Vote Extensions
PrepareProposal
-- vote extensionsFinalizeBlock
FinalizeBlock
PR and rebased to master tendermint/tendermint#7798 (it's bulky, and might depend on other infra PRs, if yes cherry-pick them first)FinalizeBlock
with specFinal adjustments
Most of these tasks can be done in parallel, but they are quite short.
Spec and doc work
Low risk, can proceed completely in parallel with the rest
Original issue: tendermint/tendermint#9396
The text was updated successfully, but these errors were encountered: