-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ABCI++ vote extensions & FinalizeBlock
#9396
Closed
14 of 17 tasks
Comments
sergio-mena
added
C:abci
Component: Application Blockchain Interface
E:medium
Estimated to take up to a month or two
feature
Feature work that definitely changes system behavior
backlog-priority
A priority issue in the backlog
labels
Sep 8, 2022
thanethomson
added
the
priority
A high-priority, high-level item to be shown on the priorities project board
label
Oct 17, 2022
4 tasks
This was referenced Dec 5, 2022
Merged
3 tasks
15 tasks
thanethomson
removed
the
priority
A high-priority, high-level item to be shown on the priorities project board
label
Dec 22, 2022
This was referenced Dec 23, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is the continuation of the work started in #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 #9053.
The main approach is:
FinalizeBlock
PrepareProposal
/ProcessProposal
related commits (as they are already inmain
via ABCI++ Prepare/Process Proposal #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
[Estimation: 0 days]feature/abci++vef
branch [Estimation: 0.5 days]git diff HEAD..v0.36.x -- test/e2e
) [Estimation: 2 days] (tracking: e2e: add contexts and e2e generator tests #9426)(2) Core feature work
We have three threads that can proceed in parallel:
FinalizeBlock
(*) [Estimation: XXX days](*) 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 #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.
FinalizeBlock
) [Estimation: 1 day]FinalizeBlock
, and obsolete methods (BeginBlock
, etc). Double check that changes in Removed redundant params in FinalizeBlock #8598 and/or Remove obsolete abci methods, no longer called by ABCI++ Tendermint #8633 are unnecessaryapp_hash
fromCommit
toFinalizeBlock
: follow abci: Moveapp_hash
parameter fromCommit
toFinalizeBlock
#8664types.proto
infeature/abci++vef
andv0.36.x
and make sure no changes are related to vote extensions andFinalizeBlock
main
Spec and doc work
Low risk, can proceed completely in parallel with the rest
FinalizeBlock
from the spec.feature/abci++vef
and go through the conflicts (goal: make sure we didn't forget anything)Commit
to the ABCI++ spec, and other late modifications #8796 and make sure the changes are present in the specdata
field inCommit
Misbehaviour
toByzantineValidators
(done already?)getting-started.md
[small, 0.5 days]indexing-transactions.md
[small, 0.5 days]abci-cli.md
(review only) [small, 0.5 days]what-is-tendermint.md
(ABCI section) [small, 0.5 days]go-built-in.md and go.md
(same changes) [medium, 2 days]PrepareProposal
/ProcessProposal
The text was updated successfully, but these errors were encountered: