You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.9 KiB

order
7

Subscribing to events via Websocket

Tendermint emits different events, which you can subscribe to via Websocket. This can be useful for third-party applications (for analysis) or for inspecting state.

List of events

To connect to a node via websocket from the CLI, you can use a tool such as wscat and run:

wscat ws://127.0.0.1:26657/websocket

You can subscribe to any of the events above by calling the subscribe RPC method via Websocket along with a valid query.

{
  "jsonrpc": "2.0",
  "method": "subscribe",
  "id": 0,
  "params": {
    "query": "tm.event='NewBlock'"
  }
}

Check out API docs for more information on query syntax and other options.

You can also use tags, given you had included them into DeliverTx response, to query transaction results. See Indexing transactions for details.

ValidatorSetUpdates

When validator set changes, ValidatorSetUpdates event is published. The event carries a list of pubkey/power pairs. The list is the same Tendermint receives from ABCI application (see EndBlock section in the ABCI spec).

Response:

{
  "jsonrpc": "2.0",
  "id": 0,
  "result": {
    "query": "tm.event='ValidatorSetUpdates'",
    "data": {
      "type": "tendermint/event/ValidatorSetUpdates",
      "value": {
        "validator_updates": [
          {
            "address": "09EAD022FD25DE3A02E64B0FE9610B1417183EE4",
            "pub_key": {
              "type": "tendermint/PubKeyEd25519",
              "value": "ww0z4WaZ0Xg+YI10w43wTWbBmM3dpVza4mmSQYsd0ck="
            },
            "voting_power": "10",
            "proposer_priority": "0"
          }
        ]
      }
    }
  }
}