1

我正在使用 dfuse 流 API 来构建基于 EOS 的应用程序。我想对流经我的智能合约的所有数据保持同步视图。

我想确保我将始终保持同步,这样我就不会错过任何一个区块。使用 dfuse 流 API,我该如何实现呢?

4

1 回答 1

2

使用with_progressWebsocket API 的功能,您将progress在处理每个块后收到一条消息。

对于给定的流(对应于请求和关联的req_id),当您收到一个progress块时,您可以保证看到它包含在您的查询中的所有内容(用于 的操作get_action_traces,或用于 的行get_table_rows)。

如果您跟踪它block_num和/或block_id,在断开/重新连接时,您可以在您的请求中提供它,并保证不会错过任何一个节拍,即使这意味着您正在重新处理 1M 块。

自 2018 年 11 月 22 日起,该get_table_rows请求将流式table_delta传输包含"undo"/的消息"redo" step。这允许您的应用程序导航分叉并确保您的应用程序与最长链的状态绝对同步。

检查https://docs.dfuse.io/上的文档并搜索with_progress更多详细信息。

于 2018-11-22T21:41:28.443 回答