Skip to content

ABCI++: Move app_hash parameter from Commit to FinalizeBlock #8632

@sergio-mena

Description

@sergio-mena

Summary

ReponseCommit's app_hash in known at the time ResponseFinalizeBlock is called. So it can be made available to Tendermint earlier.

Problem Definition

The app_hash resulting from the Application executing an entire block is known at the moment of calling ResponseFinalizeBlock method. So, rather than waiting for Commit to be completed. This data can be made available as part of ResponseFinalizeBlock.

This has the potential benefit of eliminating the case where the Application's state is ahead in our crash-recovery mechanism. However, the crash-recovery mechanism will stay as-is for the time being given the risk it entails changing it without a thorough process of review.

As we are heavily changing the API (as part of the ABCI++ effort) in v0.36, it would be a fair moment to introduce this API-breaking change.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions