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.

75 lines
2.0 KiB

6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
  1. ---
  2. order: 7
  3. ---
  4. # Subscribing to events via Websocket
  5. Tendermint emits different events, which you can subscribe to via
  6. [Websocket](https://en.wikipedia.org/wiki/WebSocket). This can be useful
  7. for third-party applications (for analysis) or for inspecting state.
  8. [List of events](https://godoc.org/github.com/tendermint/tendermint/types#pkg-constants)
  9. To connect to a node via websocket from the CLI, you can use a tool such as
  10. [wscat](https://github.com/websockets/wscat) and run:
  11. ```sh
  12. wscat ws://127.0.0.1:26657/websocket
  13. ```
  14. You can subscribe to any of the events above by calling the `subscribe` RPC
  15. method via Websocket along with a valid query.
  16. ```json
  17. {
  18. "jsonrpc": "2.0",
  19. "method": "subscribe",
  20. "id": 0,
  21. "params": {
  22. "query": "tm.event='NewBlock'"
  23. }
  24. }
  25. ```
  26. Check out [API docs](https://docs.tendermint.com/master/rpc/) for
  27. more information on query syntax and other options.
  28. You can also use tags, given you had included them into DeliverTx
  29. response, to query transaction results. See [Indexing
  30. transactions](../app-dev/indexing-transactions.md) for details.
  31. ## ValidatorSetUpdates
  32. When validator set changes, ValidatorSetUpdates event is published. The
  33. event carries a list of pubkey/power pairs. The list is the same
  34. Tendermint receives from ABCI application (see [EndBlock
  35. section](https://github.com/tendermint/tendermint/blob/master/spec/abci/abci.md#endblock) in
  36. the ABCI spec).
  37. Response:
  38. ```json
  39. {
  40. "jsonrpc": "2.0",
  41. "id": 0,
  42. "result": {
  43. "query": "tm.event='ValidatorSetUpdates'",
  44. "data": {
  45. "type": "tendermint/event/ValidatorSetUpdates",
  46. "value": {
  47. "validator_updates": [
  48. {
  49. "address": "09EAD022FD25DE3A02E64B0FE9610B1417183EE4",
  50. "pub_key": {
  51. "type": "tendermint/PubKeyEd25519",
  52. "value": "ww0z4WaZ0Xg+YI10w43wTWbBmM3dpVza4mmSQYsd0ck="
  53. },
  54. "voting_power": "10",
  55. "proposer_priority": "0"
  56. }
  57. ]
  58. }
  59. }
  60. }
  61. }
  62. ```