Skip to content

ABCI++ Prepare/Process Proposal #9053

@thanethomson

Description

@thanethomson

In this work, we effectively need to rebuild ABCI++ (currently on the v0.36.x branch) on a branch off of v0.34.x, starting just with ABCI++ Prepare/Process Proposal.

The remainder of ABCI++ will be released in subsequent releases.

Proposed Path to Done. Summary

The main idea behind this plan is to proceed in the same way we did for v0.36.x, represented in ABCI++ project board.
The main differences will be:

  • We will only be considering PrepareProposal/ProcessProposal related tasks
  • We will "follow" our work on v0.36.x. By "following a PR", I mean looking at that PR (similar work done for v0.36.x) and copying over only what makes sense.

The work is structured into two main parts (further described below):

  • (1) Preliminary work [Estimation of critical path: 9 days (with 1 thread)]
  • (2) Core feature work [Estimation of critical path: 14.5 days (with 5 threads)]

(1) and (2) can mostly proceed in parallel.

N.B.: Let’s manage the protobufs the right way this time 😊 → They should 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:

  • PrepareProposal (*) [Estimation: 9.5 days]
  • ProcessProposal (*) [Estimation: 8 days]
  • Spec and doc work [Estimation: 8 days]

(*) Only when PrepareProposal and ProcessProposal are done, can we proceed with the fourth part:

  • Final adjustments [Estimation: 5 days, assuming no parallel work done]
    • tasks here could be further parallelized

PrepareProposal

ProcessProposal

Final adjustments

Most of these tasks can be done in parallel, but they are quite short.

At this point, external teams should be able to start integration of PrepareProposal/ ProcessProposal

Spec and doc work

Metadata

Metadata

Labels

C:abciComponent: Application Blockchain InterfaceE:mediumEstimated to take up to a month or twofeatureFeature work that definitely changes system behavior

Type

No type

Projects

Status

Done/Merged

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions