我正在使用dfuse流API来构建一个基于EOS的应用程序。我想保持一个不同步的视图,所有的数据流动通过我的智能契约。
我想确保我将始终保持同步,这样我就不会错过任何一个块。使用dfuse流API,我如何实现这一点?
发布于 2018-11-22 21:41:28
使用Websocket的with_progress特性,您将在处理每个块之后收到一条progress消息。
对于给定的流(对应于请求和关联的req_id),当收到块的progress时,可以保证看到了查询中包含的所有内容( get_action_traces的操作或get_table_rows的行)。
如果您跟踪该block_num和/或block_id,在断开/重新连接时,您可以在请求中提供它,并且保证不会错过一个节拍,即使这意味着您正在重新处理1M块。
从2018年11月22日起,get_table_rows请求将对包含"undo"/"redo" step的table_delta消息进行流。这允许您的应用程序导航叉,并确保您的应用程序与最长链的状态绝对同步。
查看https://docs.dfuse.io/的文档并搜索with_progress以获得更多详细信息。
https://stackoverflow.com/questions/53437994
复制相似问题