> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cosmos.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Consensus

> gRPC queries and transaction messages defined by the consensus module in Cosmos SDK v0.55.

<Info>
  Generated from [`cosmos/cosmos-sdk@2086680ff8b0`](https://github.com/cosmos/cosmos-sdk/tree/2086680ff8b08fd269ee653e087ea577bab79534/proto) on ref `release/v0.55.x`.
</Info>

## Queries

A node exposes only the services its application registers:

* gRPC on port 9090
* REST on port 1317, if the method has an HTTP binding

Run `grpcurl -plaintext localhost:9090 list` to see what a node serves.

Queries are read-only and never pass through consensus. See [Queries](/sdk/latest/learn/concepts/transactions#queries).

Replace `<string>` placeholders with real values and omit unused filters. Payloads use protobuf JSON, and some `string` fields accept enum constants listed under Types. Field tables give the encoding each value takes.

Examples assume a local node. For TLS endpoints, use port 443 and omit `-plaintext`. See [gRPC services](/sdk/latest/api-reference/grpc/index) for reflection, address formats, and decimal encoding.

### Params

Params queries the parameters of x/consensus module.

|      |                                    |
| ---- | ---------------------------------- |
| gRPC | `cosmos.consensus.v1.Query/Params` |
| REST | `GET /cosmos/consensus/v1/params`  |

Request `QueryParamsRequest`:

This message has no fields.

Response `QueryParamsResponse`:

| Field    | Type              | Description                                                                                                                                                                                       |
| -------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `params` | `ConsensusParams` | params are the tendermint consensus params stored in the consensus module. Please note that `params.version` is not populated in this response, it is tracked separately in the x/upgrade module. |

```bash theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
grpcurl -plaintext localhost:9090 cosmos.consensus.v1.Query/Params
```

## Transaction messages

These messages are included in signed transactions, not called as endpoints. See [Transactions](/sdk/latest/learn/concepts/transactions#transactions) for the execution model, and [Sending transactions](/sdk/latest/api-reference/transactions) for the envelope they go into.

Examples use CLI transaction JSON. Decimal fields use values such as `"0.05"`, even when their proto type is `bytes`. The gRPC `TxEncode` method instead requires the scaled value `"50000000000000000"`. See [scalar encodings](/sdk/latest/api-reference/grpc/index#scalar-encodings).

* Handler: Generated client method
* Signer: Account that must sign
* Amino name: Legacy identifier used by hardware wallets and other Amino signers

### UpdateParams

UpdateParams defines a governance operation for updating the x/consensus module parameters. The authority is defined in the keeper.

|            |                                          |
| ---------- | ---------------------------------------- |
| Type URL   | `/cosmos.consensus.v1.MsgUpdateParams`   |
| Handler    | `cosmos.consensus.v1.Msg/UpdateParams`   |
| Signer     | `authority`                              |
| Amino name | `cosmos-sdk/x/consensus/MsgUpdateParams` |

<Note>The signer is the governance module account, which no user holds a key for. This message executes only through a passed governance proposal, not as a transaction you submit directly.</Note>

| Field       | Type              | Description                                                                                                                                                                             |
| ----------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `authority` | `string`          | authority is the address that controls the module (defaults to x/gov unless overwritten). Encoded as cosmos.AddressString.                                                              |
| `block`     | `BlockParams`     | params defines the x/consensus parameters to update. VersionsParams is not included in this Msg because it is tracked separarately in x/upgrade. NOTE: All parameters must be supplied. |
| `evidence`  | `EvidenceParams`  |                                                                                                                                                                                         |
| `validator` | `ValidatorParams` |                                                                                                                                                                                         |
| `abci`      | `ABCIParams`      |                                                                                                                                                                                         |
| `auth`      | `AuthorityParams` |                                                                                                                                                                                         |

In a transaction:

```json theme={"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}}
{
  "@type": "/cosmos.consensus.v1.MsgUpdateParams",
  "authority": "<string>",
  "block": {
    "max_bytes": "1",
    "max_gas": "1"
  },
  "evidence": {
    "max_age_num_blocks": "1",
    "max_age_duration": "0s",
    "max_bytes": "1"
  },
  "validator": {
    "pub_key_types": [
      "<string>"
    ]
  },
  "abci": {
    "vote_extensions_enable_height": "1"
  },
  "auth": {
    "authority": "<string>"
  }
}
```

Response `MsgUpdateParamsResponse`:

This message has no fields.
