Get desktop application:
View/edit binary Protocol Buffers messages
ABCIParams is deprecated and its contents moved to FeatureParams
Used in:
vote_extensions_enable_height has been deprecated. Instead, use FeatureParams.vote_extensions_enable_height.
Block defines the structure of a block in the CometBFT blockchain.
Used in:
,BlockID defines the unique ID of a block as its hash and its `PartSetHeader`.
Used in:
, , , , , , , , ,BlockIdFlag indicates which BlockID the signature is for
Used in:
, , ,Indicates an error condition
The vote was not received
Voted for the block that received the majority
Voted for nil
BlockMeta contains meta information about a block.
BlockParams define limits on the block size and gas.
Used in:
Maximum size of a block, in bytes. Must be greater or equal to -1 and cannot be greater than the hard-coded maximum block size, which is 100MB. If set to -1, the limit is the hard-coded maximum block size.
Maximum gas wanted by transactions included in a block. Must be greater or equal to -1. If set to -1, no limit is enforced.
CanonicalBlockID is a canonical representation of a BlockID, which gets serialized and signed.
Used in:
,CanonicalPartSetHeader is a canonical representation of a PartSetHeader, which gets serialized and signed.
Used in:
CanonicalProposal is a canonical representation of a Proposal, which gets serialized and signed.
type alias for byte
canonicalization requires fixed size encoding here
canonicalization requires fixed size encoding here
CanonicalVote is a canonical representation of a Vote, which gets serialized and signed.
type alias for byte
canonicalization requires fixed size encoding here
canonicalization requires fixed size encoding here
CanonicalVoteExtension provides us a way to serialize a vote extension from a particular validator such that we can sign over those serialized bytes.
Commit contains the evidence that a block was committed by a set of validators.
Used in:
,CommitSig is a part of the Vote included in a Commit.
Used in:
ConsensusParams contains consensus critical parameters that determine the validity of blocks.
Used in:
, , , , , , , , , , , ,Use FeatureParams.vote_extensions_enable_height instead
Data contains the set of transactions included in the block
Used in:
Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We're just agreeing on the order first. This means that block.AppHash does not include these txs.
DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.
Used in:
EventDataRoundState is emitted with each new round step.
Used in:
Evidence is a generic type for wrapping evidence of misbehavior by a validator.
Used in:
The type of evidence.
EvidenceList is a list of evidence.
Used in:
EvidenceParams determine the validity of evidences of Byzantine behavior.
Used in:
Maximum age of evidence, in blocks. The recommended formula for calculating it is max_age_duration / {average block time}.
Maximum age of evidence, in time. The recommended value of is should correspond to the application's "unbonding period" or other similar mechanism for handling Nothing-At-Stake attacks. See: https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed.
Maximum size in bytes of evidence allowed to be included in a block. It should fall comfortably under the maximum size of a block.
ExtendedCommit is a Commit with ExtendedCommitSig.
Used in:
ExtendedCommitSig retains all the same fields as CommitSig but adds vote extension-related fields. We use two signatures to ensure backwards compatibility. That is the digest of the original signature is still the same in prior versions
Used in:
Vote extension data
Vote extension signature
FeatureParams configure the height from which features of CometBFT are enabled.
Used in:
First height during which vote extensions will be enabled. During the specified height, and for all subsequent heights, precommit messages that do not contain valid extension data will be considered invalid. Prior to this height, or when this height is set to 0, vote extensions will not be used or accepted by validators on the network. Once enabled, vote extensions will be created by the application in ExtendVote, validated by the application in VerifyVoteExtension, and used by the application in PrepareProposal, when proposing the next block. Cannot be set to heights lower or equal to the current blockchain height.
Height at which Proposer-Based Timestamps (PBTS) will be enabled. From the specified height, and for all subsequent heights, the PBTS algorithm will be used to produce and validate block timestamps. Prior to this height, or when this height is set to 0, the legacy BFT Time algorithm is used to produce and validate timestamps. Cannot be set to heights lower or equal to the current blockchain height.
HashedParams is a subset of ConsensusParams. It is hashed into the Header.ConsensusHash.
Header defines the structure of a block header.
Used in:
, ,basic block info
prev block info
hashes of block data
commit from validators from the last block
transactions
hashes from the app output from the prev block
validators for the current block
validators for the next block
consensus params for current block
state after txs from the previous block
root hash of all results from the txs from the previous block
consensus info
evidence included in the block
original proposer of the block
LightBlock is a combination of SignedHeader and ValidatorSet. It is used by light clients.
Used in:
LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.
Used in:
Part of the block.
Used in:
Header of the parts set for a block.
Used in:
,Block proposal.
Used in:
, , , ,SignedHeader contains a Header(H) and Commit(H+1) with signatures of validators who signed it.
Used in:
SignedMsgType is a type of signed message in the consensus.
Used in:
, , , , , ,Unknown
Prevote
Precommit
Proposal
SimpleValidator is a Validator, which is serialized and hashed in consensus. Address is removed because it's redundant with the pubkey. Proposer priority is removed because it changes every round.
SynchronyParams determine the validity of block timestamps. These parameters are part of the Proposer-Based Timestamps (PBTS) algorithm. For more information on the relationship of the synchrony parameters to block timestamps validity, refer to the PBTS specification: https://github.com/tendermint/spec/blob/master/spec/consensus/proposer-based-timestamp/README.md
Used in:
Bound for how skewed a proposer's clock may be from any validator on the network while still producing valid proposals.
Bound for how long a proposal message may take to reach all validators on a network and still be considered valid.
TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree.
Validator represents a node participating in the consensus protocol.
Used in:
,ValidatorParams restrict the public key types validators can use. NOTE: uses ABCI public keys naming, not Amino names.
Used in:
ValidatorSet defines a set of validators.
Used in:
, ,VersionParams contain the version of specific components of CometBFT.
Used in:
The ABCI application version. It was named app_version in CometBFT 0.34.
Vote represents a prevote or precommit vote from validators for consensus.
Used in:
, , , , ,zero if vote is nil.
Vote signature by the validator if they participated in consensus for the associated block.
Vote extension provided by the application. Only valid for precommit messages.
Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.