Skip to main content
Version: Next

x/consensus

Abstract​

Functionality to modify CometBFT's ABCI consensus params.

Contents​

State​

The x/consensus module keeps state of the consensus params from CometBFT.

Params​

The consensus module stores its params in state with the prefix of 0x05, it can be updated with governance or the address with authority.

  • Params: 0x05 | ProtocolBuffer(cometbft.ConsensusParams)
https://github.com/cosmos/cosmos-sdk/blob/v0.52.0-beta.1/x/consensus/proto/cosmos/consensus/v1/query.proto#L21-L27
https://https://github.com/cometbft/cometbft/blob/v0.34.35/proto/tendermint/types/params.proto#L11-L18

Keeper​

The Keeper of the x/consensus module provides the following functions:

  • Params: Retrieves the current consensus parameters.

  • UpdateParams: Updates the consensus parameters. Only the authority can perform this operation.

  • BlockParams: Returns the maximum gas and bytes allowed in a block.

  • ValidatorPubKeyTypes: Provides the list of public key types allowed for validators.

  • EvidenceParams: Returns the evidence parameters, including maximum age and bytes.

  • AppVersion: Returns the current application version.

Note: It is recommended to use the x/consensus module keeper to get consensus params instead of accessing them through the context.

Messages​

UpdateParams​

Update consensus params.

https://github.com/cosmos/cosmos-sdk/blob/v0.52.0-beta.1/x/consensus/proto/cosmos/consensus/v1/tx.proto#L24-L44

The message will fail under the following conditions:

  • The signer is not the set authority
  • Not all values are set

Events​

The consensus module emits the following events:

Message Events​

MsgUpdateParams​

TypeAttribute KeyAttribute Value
stringauthoritymsg.Signer
stringparametersconsensus Parameters