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 |