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://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