Skip to content

ABCI++ vote extensions & FinalizeBlock #12

@sergio-mena

Description

@sergio-mena

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:

The work is structured very similarly to #9053. It consists of two main parts (further described below):

  • (1) Preliminary work
  • (2) Core feature work

(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

(2) Core feature work

We have three threads that can proceed in parallel:

  • Vote extensions (*)
  • FinalizeBlock (*)
  • Spec and doc work

(*) Only when vote extensions and FinalizeBlock are done, can we proceed with the fourth part:

  • Final adjustments
    • tasks here could be further parallelized

Vote Extensions

FinalizeBlock

Final 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

Metadata

Metadata

Assignees

Labels

P:new-use-casesPriority: Enable new use cases for application developers

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions