Skip to content

ABCI++: Decide what to do with TxRecord #7663

@sergio-mena

Description

@sergio-mena

Summary

The structure TransactionRecord is a late addition to the ABCI++ spec. It allows the App to modify the transaction in a flexible way (see tendermint/spec#366).

This needs to be dealt with at both the spec and implementation level.

Problem Definition

One of the features of the API using TransactionRecord is that the App can provide traceability information when it transforms one or more TXs into other TXs.
However, as this is done when handling PrepareProposal, currently, we don't have a means of making the traceability info available to other nodes. We need to decide how to deal with this.

  • Discuss which part should be responsible for transaction traceability (Tendermint or the App?).
    • If the answer is "Tendermint, come up with a method to spread this info via p2p, or include it as an extension of a TX in the block format.
    • If the answer is "the App", then remove filed new_hashes; and explain in the spec that this is up to the App to encode it inside its TXs

Once decided, open PRs (spec and/or implementation) and implement/document the decision.

Dependencies

#7654


For Admin Use

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

Metadata

Metadata

Assignees

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