通过 Websocket 订阅事件

Tendermint 会发出不同的事件,您可以通过Websocket订阅这些事件。这对于第三方应用程序(如 analysys)或检查状态非常有用。

事件列表

您可以通过 Websocket 调用 subscribe RPC 方法订阅上面的任何事件。

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "subscribe",
  4. "id": "0",
  5. "params": {
  6. "query": "tm.event='NewBlock'"
  7. }
  8. }

查看API 文档,了解更多关于查询语法和其他选项的信息。

您还可以使用标记(假定您已经将它们包含到 DeliverTx 响应中)来查询交易结果。有关详细信息,请参见索引交易

ValidatorSetUpdates

当验证者集更改时,将发布 ValidatorSetUpdates 事件。该事件携带一个公钥/投票权利对列表。此列表与从 ABCI 应用程序中收到的相同(参见 ABCI 规范中的EndBlock 部分)。

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "id": "0#event",
  4. "result": {
  5. "query": "tm.event='ValidatorSetUpdates'",
  6. "data": {
  7. "type": "tendermint/event/ValidatorSetUpdates",
  8. "value": {
  9. "validator_updates": [
  10. {
  11. "address": "09EAD022FD25DE3A02E64B0FE9610B1417183EE4",
  12. "pub_key": {
  13. "type": "tendermint/PubKeyEd25519",
  14. "value": "ww0z4WaZ0Xg+YI10w43wTWbBmM3dpVza4mmSQYsd0ck="
  15. },
  16. "voting_power": "10",
  17. "proposer_priority": "0"
  18. }
  19. ]
  20. }
  21. }
  22. }
  23. }