tendermint/abci

Table of Contents

tendermint/abci/types.proto

Top

BlockParams

BlockParams contains limits on the block size.

FieldTypeLabelDescription
max_bytes int64

Note: must be greater than 0

max_gas int64

Note: must be greater or equal to -1

ConsensusParams

ConsensusParams contains all consensus-relevant parameters

that can be adjusted by the abci app

FieldTypeLabelDescription
block BlockParams

evidence tendermint.types.EvidenceParams

validator tendermint.types.ValidatorParams

version tendermint.types.VersionParams

Event

Event allows application developers to attach additional information to

ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.

Later, transactions may be queried using these events.

FieldTypeLabelDescription
type string

attributes EventAttribute repeated

EventAttribute

EventAttribute is a single key-value pair, associated with an event.

FieldTypeLabelDescription
key bytes

value bytes

index bool

nondeterministic

Evidence

FieldTypeLabelDescription
type EvidenceType

validator Validator

The offending validator

height int64

The height when the offense occurred

time google.protobuf.Timestamp

The corresponding time where the offense occurred

total_voting_power int64

Total voting power of the validator set in case the ABCI application does not store historical validators. https://github.com/tendermint/tendermint/issues/4581

LastCommitInfo

FieldTypeLabelDescription
round int32

votes VoteInfo repeated

Request

FieldTypeLabelDescription
echo RequestEcho

flush RequestFlush

info RequestInfo

set_option RequestSetOption

init_chain RequestInitChain

query RequestQuery

begin_block RequestBeginBlock

check_tx RequestCheckTx

deliver_tx RequestDeliverTx

end_block RequestEndBlock

commit RequestCommit

list_snapshots RequestListSnapshots

offer_snapshot RequestOfferSnapshot

load_snapshot_chunk RequestLoadSnapshotChunk

apply_snapshot_chunk RequestApplySnapshotChunk

RequestApplySnapshotChunk

Applies a snapshot chunk

FieldTypeLabelDescription
index uint32

chunk bytes

sender string

RequestBeginBlock

FieldTypeLabelDescription
hash bytes

header tendermint.types.Header

last_commit_info LastCommitInfo

byzantine_validators Evidence repeated

RequestCheckTx

FieldTypeLabelDescription
tx bytes

type CheckTxType

RequestCommit

RequestDeliverTx

FieldTypeLabelDescription
tx bytes

RequestEcho

FieldTypeLabelDescription
message string

RequestEndBlock

FieldTypeLabelDescription
height int64

RequestFlush

RequestInfo

FieldTypeLabelDescription
version string

block_version uint64

p2p_version uint64

RequestInitChain

FieldTypeLabelDescription
time google.protobuf.Timestamp

chain_id string

consensus_params ConsensusParams

validators ValidatorUpdate repeated

app_state_bytes bytes

initial_height int64

RequestListSnapshots

lists available snapshots

RequestLoadSnapshotChunk

loads a snapshot chunk

FieldTypeLabelDescription
height uint64

format uint32

chunk uint32

RequestOfferSnapshot

offers a snapshot to the application

FieldTypeLabelDescription
snapshot Snapshot

snapshot offered by peers

app_hash bytes

light client-verified app hash for snapshot height

RequestQuery

FieldTypeLabelDescription
data bytes

path string

height int64

prove bool

RequestSetOption

nondeterministic

FieldTypeLabelDescription
key string

value string

Response

FieldTypeLabelDescription
exception ResponseException

echo ResponseEcho

flush ResponseFlush

info ResponseInfo

set_option ResponseSetOption

init_chain ResponseInitChain

query ResponseQuery

begin_block ResponseBeginBlock

check_tx ResponseCheckTx

deliver_tx ResponseDeliverTx

end_block ResponseEndBlock

commit ResponseCommit

list_snapshots ResponseListSnapshots

offer_snapshot ResponseOfferSnapshot

load_snapshot_chunk ResponseLoadSnapshotChunk

apply_snapshot_chunk ResponseApplySnapshotChunk

ResponseApplySnapshotChunk

FieldTypeLabelDescription
result ResponseApplySnapshotChunk.Result

refetch_chunks uint32 repeated

Chunks to refetch and reapply

reject_senders string repeated

Chunk senders to reject and ban

ResponseBeginBlock

FieldTypeLabelDescription
events Event repeated

ResponseCheckTx

FieldTypeLabelDescription
code uint32

data bytes

log string

nondeterministic

info string

nondeterministic

gas_wanted int64

gas_used int64

events Event repeated

codespace string

ResponseCommit

FieldTypeLabelDescription
data bytes

reserve 1

retain_height int64

ResponseDeliverTx

FieldTypeLabelDescription
code uint32

data bytes

log string

nondeterministic

info string

nondeterministic

gas_wanted int64

gas_used int64

events Event repeated

nondeterministic

codespace string

ResponseEcho

FieldTypeLabelDescription
message string

ResponseEndBlock

FieldTypeLabelDescription
validator_updates ValidatorUpdate repeated

consensus_param_updates ConsensusParams

events Event repeated

ResponseException

nondeterministic

FieldTypeLabelDescription
error string

ResponseFlush

ResponseInfo

FieldTypeLabelDescription
data string

version string

app_version uint64

last_block_height int64

last_block_app_hash bytes

ResponseInitChain

FieldTypeLabelDescription
consensus_params ConsensusParams

validators ValidatorUpdate repeated

app_hash bytes

ResponseListSnapshots

FieldTypeLabelDescription
snapshots Snapshot repeated

ResponseLoadSnapshotChunk

FieldTypeLabelDescription
chunk bytes

ResponseOfferSnapshot

FieldTypeLabelDescription
result ResponseOfferSnapshot.Result

ResponseQuery

FieldTypeLabelDescription
code uint32

log string

bytes data = 2; // use "value" instead. nondeterministic

info string

nondeterministic

index int64

key bytes

value bytes

proof_ops tendermint.crypto.ProofOps

height int64

codespace string

ResponseSetOption

nondeterministic

FieldTypeLabelDescription
code uint32

log string

bytes data = 2;

info string

Snapshot

FieldTypeLabelDescription
height uint64

The height at which the snapshot was taken

format uint32

The application-specific snapshot format

chunks uint32

Number of chunks in the snapshot

hash bytes

Arbitrary snapshot hash, equal only if identical

metadata bytes

Arbitrary application metadata

TxResult

TxResult contains results of executing the transaction.

One usage is indexing transaction results.

FieldTypeLabelDescription
height int64

index uint32

tx bytes

result ResponseDeliverTx

Validator

Validator

FieldTypeLabelDescription
address bytes

The first 20 bytes of SHA256(public key)

power int64

PubKey pub_key = 2 [(gogoproto.nullable)=false]; The voting power

ValidatorUpdate

ValidatorUpdate

FieldTypeLabelDescription
pub_key tendermint.crypto.PublicKey

power int64

VoteInfo

VoteInfo

FieldTypeLabelDescription
validator Validator

signed_last_block bool

CheckTxType

NameNumberDescription
NEW 0

RECHECK 1

EvidenceType

NameNumberDescription
UNKNOWN 0

DUPLICATE_VOTE 1

LIGHT_CLIENT_ATTACK 2

ResponseApplySnapshotChunk.Result

NameNumberDescription
UNKNOWN 0

Unknown result, abort all snapshot restoration

ACCEPT 1

Chunk successfully accepted

ABORT 2

Abort all snapshot restoration

RETRY 3

Retry chunk (combine with refetch and reject)

RETRY_SNAPSHOT 4

Retry snapshot (combine with refetch and reject)

REJECT_SNAPSHOT 5

Reject this snapshot, try others

ResponseOfferSnapshot.Result

NameNumberDescription
UNKNOWN 0

Unknown result, abort all snapshot restoration

ACCEPT 1

Snapshot accepted, apply chunks

ABORT 2

Abort all snapshot restoration

REJECT 3

Reject this specific snapshot, try others

REJECT_FORMAT 4

Reject all snapshots of this format, try others

REJECT_SENDER 5

Reject all snapshots from the sender(s), try others

ABCIApplication

Method NameRequest TypeResponse TypeDescription
Echo RequestEcho ResponseEcho

Flush RequestFlush ResponseFlush

Info RequestInfo ResponseInfo

SetOption RequestSetOption ResponseSetOption

DeliverTx RequestDeliverTx ResponseDeliverTx

CheckTx RequestCheckTx ResponseCheckTx

Query RequestQuery ResponseQuery

Commit RequestCommit ResponseCommit

InitChain RequestInitChain ResponseInitChain

BeginBlock RequestBeginBlock ResponseBeginBlock

EndBlock RequestEndBlock ResponseEndBlock

ListSnapshots RequestListSnapshots ResponseListSnapshots

OfferSnapshot RequestOfferSnapshot ResponseOfferSnapshot

LoadSnapshotChunk RequestLoadSnapshotChunk ResponseLoadSnapshotChunk

ApplySnapshotChunk RequestApplySnapshotChunk ResponseApplySnapshotChunk

Scalar Value Types

.proto Type Notes Python Type
double float
float float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int/long
uint32 Uses variable-length encoding. int/long
uint64 Uses variable-length encoding. int/long
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int/long
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. int
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. int/long
sfixed32 Always four bytes. int
sfixed64 Always eight bytes. int/long
bool boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. str/unicode
bytes May contain any arbitrary sequence of bytes. str