Blockchain 如何在使用dfuse流式API时有效保持同步

Blockchain 如何在使用dfuse流式API时有效保持同步,blockchain,eos,Blockchain,Eos,我正在使用dfuse流式API构建一个基于EOS的应用程序。 我想保持通过智能合约的所有数据的同步视图 我想确保我始终保持同步,这样我就不会错过任何一个街区。使用dfuse streaming API,我如何实现这一点?使用Websocket API的with_progress功能,在处理每个块后,您将收到一条progress消息 对于给定的流(对应于请求和关联的req\u id),当您收到块的进度时,您保证已经看到它包含在查询中的所有内容(用于get\u action\u跟踪的操作,或用于ge

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


我想确保我始终保持同步,这样我就不会错过任何一个街区。使用dfuse streaming API,我如何实现这一点?

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

对于给定的流(对应于请求和关联的
req\u id
),当您收到块的
进度
时,您保证已经看到它包含在查询中的所有内容(用于
get\u action\u跟踪的操作
,或用于
get\u table\u行的行

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

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

查看位于的文档,并搜索带有_progress的
以了解更多详细信息