tendermint/abci
Table of Contents
-
tendermint/abci/types.proto
- MBlockParams
- MConsensusParams
- MEvent
- MEventAttribute
- MEvidence
- MLastCommitInfo
- MRequest
- MRequestApplySnapshotChunk
- MRequestBeginBlock
- MRequestCheckTx
- MRequestCommit
- MRequestDeliverTx
- MRequestEcho
- MRequestEndBlock
- MRequestFlush
- MRequestInfo
- MRequestInitChain
- MRequestListSnapshots
- MRequestLoadSnapshotChunk
- MRequestOfferSnapshot
- MRequestQuery
- MRequestSetOption
- MResponse
- MResponseApplySnapshotChunk
- MResponseBeginBlock
- MResponseCheckTx
- MResponseCommit
- MResponseDeliverTx
- MResponseEcho
- MResponseEndBlock
- MResponseException
- MResponseFlush
- MResponseInfo
- MResponseInitChain
- MResponseListSnapshots
- MResponseLoadSnapshotChunk
- MResponseOfferSnapshot
- MResponseQuery
- MResponseSetOption
- MSnapshot
- MTxResult
- MValidator
- MValidatorUpdate
- MVoteInfo
- ECheckTxType
- EEvidenceType
- EResponseApplySnapshotChunk.Result
- EResponseOfferSnapshot.Result
- SABCIApplication
- Scalar Value Types
tendermint/abci/types.proto
TopBlockParams
BlockParams contains limits on the block size.
Field | Type | Label | Description |
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
Field | Type | Label | Description |
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.
Field | Type | Label | Description |
type | string |
|
|
attributes | EventAttribute | repeated |
|
EventAttribute
EventAttribute is a single key-value pair, associated with an event.
Field | Type | Label | Description |
key | bytes |
|
|
value | bytes |
|
|
index | bool | nondeterministic |
Evidence
Field | Type | Label | Description |
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
Field | Type | Label | Description |
round | int32 |
|
|
votes | VoteInfo | repeated |
|
Request
Field | Type | Label | Description |
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
Field | Type | Label | Description |
index | uint32 |
|
|
chunk | bytes |
|
|
sender | string |
|
RequestBeginBlock
Field | Type | Label | Description |
hash | bytes |
|
|
header | tendermint.types.Header |
|
|
last_commit_info | LastCommitInfo |
|
|
byzantine_validators | Evidence | repeated |
|
RequestCheckTx
Field | Type | Label | Description |
tx | bytes |
|
|
type | CheckTxType |
|
RequestCommit
RequestDeliverTx
Field | Type | Label | Description |
tx | bytes |
|
RequestEcho
Field | Type | Label | Description |
message | string |
|
RequestEndBlock
Field | Type | Label | Description |
height | int64 |
|
RequestFlush
RequestInfo
Field | Type | Label | Description |
version | string |
|
|
block_version | uint64 |
|
|
p2p_version | uint64 |
|
RequestInitChain
Field | Type | Label | Description |
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
Field | Type | Label | Description |
height | uint64 |
|
|
format | uint32 |
|
|
chunk | uint32 |
|
RequestOfferSnapshot
offers a snapshot to the application
Field | Type | Label | Description |
snapshot | Snapshot | snapshot offered by peers |
|
app_hash | bytes | light client-verified app hash for snapshot height |
RequestQuery
Field | Type | Label | Description |
data | bytes |
|
|
path | string |
|
|
height | int64 |
|
|
prove | bool |
|
RequestSetOption
nondeterministic
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Response
Field | Type | Label | Description |
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
Field | Type | Label | Description |
result | ResponseApplySnapshotChunk.Result |
|
|
refetch_chunks | uint32 | repeated | Chunks to refetch and reapply |
reject_senders | string | repeated | Chunk senders to reject and ban |
ResponseBeginBlock
Field | Type | Label | Description |
events | Event | repeated |
|
ResponseCheckTx
Field | Type | Label | Description |
code | uint32 |
|
|
data | bytes |
|
|
log | string | nondeterministic |
|
info | string | nondeterministic |
|
gas_wanted | int64 |
|
|
gas_used | int64 |
|
|
events | Event | repeated |
|
codespace | string |
|
ResponseCommit
Field | Type | Label | Description |
data | bytes | reserve 1 |
|
retain_height | int64 |
|
ResponseDeliverTx
Field | Type | Label | Description |
code | uint32 |
|
|
data | bytes |
|
|
log | string | nondeterministic |
|
info | string | nondeterministic |
|
gas_wanted | int64 |
|
|
gas_used | int64 |
|
|
events | Event | repeated | nondeterministic |
codespace | string |
|
ResponseEcho
Field | Type | Label | Description |
message | string |
|
ResponseEndBlock
Field | Type | Label | Description |
validator_updates | ValidatorUpdate | repeated |
|
consensus_param_updates | ConsensusParams |
|
|
events | Event | repeated |
|
ResponseException
nondeterministic
Field | Type | Label | Description |
error | string |
|
ResponseFlush
ResponseInfo
Field | Type | Label | Description |
data | string |
|
|
version | string |
|
|
app_version | uint64 |
|
|
last_block_height | int64 |
|
|
last_block_app_hash | bytes |
|
ResponseInitChain
Field | Type | Label | Description |
consensus_params | ConsensusParams |
|
|
validators | ValidatorUpdate | repeated |
|
app_hash | bytes |
|
ResponseListSnapshots
Field | Type | Label | Description |
snapshots | Snapshot | repeated |
|
ResponseLoadSnapshotChunk
Field | Type | Label | Description |
chunk | bytes |
|
ResponseOfferSnapshot
Field | Type | Label | Description |
result | ResponseOfferSnapshot.Result |
|
ResponseQuery
Field | Type | Label | Description |
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
Field | Type | Label | Description |
code | uint32 |
|
|
log | string | bytes data = 2; |
|
info | string |
|
Snapshot
Field | Type | Label | Description |
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.
Field | Type | Label | Description |
height | int64 |
|
|
index | uint32 |
|
|
tx | bytes |
|
|
result | ResponseDeliverTx |
|
Validator
Validator
Field | Type | Label | Description |
address | bytes | The first 20 bytes of SHA256(public key) |
|
power | int64 | PubKey pub_key = 2 [(gogoproto.nullable)=false]; The voting power |
ValidatorUpdate
ValidatorUpdate
Field | Type | Label | Description |
pub_key | tendermint.crypto.PublicKey |
|
|
power | int64 |
|
VoteInfo
VoteInfo
Field | Type | Label | Description |
validator | Validator |
|
|
signed_last_block | bool |
|
CheckTxType
Name | Number | Description |
NEW | 0 | |
RECHECK | 1 |
EvidenceType
Name | Number | Description |
UNKNOWN | 0 | |
DUPLICATE_VOTE | 1 | |
LIGHT_CLIENT_ATTACK | 2 |
ResponseApplySnapshotChunk.Result
Name | Number | Description |
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
Name | Number | Description |
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 Name | Request Type | Response Type | Description |
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 |