cosmos-sdk/x/consensus
2024-04-17 18:18:16 +00:00
..
exported chore: remove params module entirely (#17838) 2023-09-22 13:51:37 +00:00
keeper refactor(core,x/**): simplify core service api and embed environment in keepers (#20071) 2024-04-17 18:18:16 +00:00
proto refactor: bump gogoproto (#19869) 2024-03-28 19:53:21 +00:00
testutil refactor(x/auth): spin out go.mod (#18351) 2023-11-07 11:42:58 +00:00
types refactor: rename core.registry.LegacyRegistry -> core.registry.InterfaceRegistrar (#19758) 2024-03-14 17:53:31 +00:00
autocli.go feat(client/v2): support gov proposals (#18461) 2023-11-15 11:16:25 +00:00
depinject.go refactor(x): remove Address.String() (#20048) 2024-04-15 13:57:32 +00:00
module.go refactor: rename core.registry.LegacyRegistry -> core.registry.InterfaceRegistrar (#19758) 2024-03-14 17:53:31 +00:00
README.md chore: fix spelling errors (#19545) 2024-02-24 15:30:31 +00:00

sidebar_position
1

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 it's 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/381de6452693a9338371223c232fba0c42773a4b/proto/cosmos/consensus/v1/consensus.proto#L11-L18

Keepers

The consensus module provides methods to Set and Get consensus params. 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/381de6452693a9338371223c232fba0c42773a4b/proto/cosmos/consensus/v1/tx.proto#L12-L47

The message will fail under the following conditions:

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

Consensus Messages

The consensus module has a consensus message that is used to set the consensus params when the chain initializes. It is similar to the UpdateParams message but it is only used once at the start of the chain.

https://github.com/cosmos/cosmos-sdk/blob/381de6452693a9338371223c232fba0c42773a4b/proto/cosmos/consensus/v1/consensus.proto#L9-L24

Events

The consensus module emits the following events:

Message Events

MsgUpdateParams

Type Attribute Key Attribute Value
string authority msg.Signer
string parameters consensus Parameters