dfuse 新增 API 端点,增强在 EOSIO 上的开发体验

2019-5-21 10:58:01 / 作者 dfuse

我们给 dfuse 添加了三个新功能,帮助增强你的开发体验: 新的 NOT 运算符改进了 dfuse 搜索查询;用新的 API 端点,你还可以调用 REST API 来获取交易的生命周期,或用时间戳查找区块号和区块ID。

查询语言中包含 “NOT” 运算符

NOT 运算符是 dfuse 用户们提出需求最高的功能一直。 我们很高兴地通知大家现在这可以用了。 只需在字段名称前面或括号组前面加上 - 符号即可。 例如:

auth:eoscanadacom input:true -action:claimrewards

上面的这个例子会返回所有 eoscanadacom 签名的交易,即原始交易中的 input,但 claimrewards 操作就被过滤掉了。

not operator search

想要进一步过滤查询结果,你可以使用 OR 运算符,并在括号前面加上 - 标志,就可以过滤掉多个值,如下所示:

auth:eoscanadacom -(action:claimrewards OR action:approve OR action:vote) input:true

调用 REST API 来获取交易的生命周期

我们还新增了一个 REST API 命令,你只需输入交易ID即可获取生命周期进度,也适用于延期交易。 这类似于用 WebSocket 实时读取时的 fetch: true,但它允许你使用 REST 调用执行此操作。许多用户提出了他们想要在无需处理 WebSocket 连接的情况下执行此调用。

你可以在此处找到此端点的文档,并且我们还编写了一个使用它的例子

用时间戳轻松查找到区块号

还有很多用户提出了想通过调用 REST API 而查到指定时间内的区块号。这样你就可以为查询定日期范围,根据你想查询的交易发生的的大致时间定位它,或者通过限制你要搜索的链范围的大小来加快查询的反馈速度。

虽然这个端点之前就发布了,但我们现在完成了它的文档。我们想确保大家都知道它,以便简化各位的开发过程。

ISO-8601 时间戳就可以请求区块编号、区块ID和确切时间戳。在你的查询中,你需要去指定相关的 Comparator (比值器):

  • GT - 大于(greater than)
  • GTE - 大于或等于(greater than, or equal to)
  • LT - 小于(less than)
  • LTE - 小于或等于(less than, or equal to)
  • EQ - 等于(equal to)

如果你使用的是 GraphQL 端点,比值器的默认值为 LTE

我们一直忠于我们的用户,推出大家需要的功能,帮助构建下一代 dapp。请让我们知道你觉得我们的 EOS API 端点还可以怎样被提高。告诉我们你在做的项目,我们很愿意了解到各位在做的事情。加入我们的电报频道或关注微信公众号 dfuse 来加入微信开发者群吧!

话题 EOSIO, REST API, eosq, 开发者, dfuse Lifecycle, dfuse Search, 更新发布, 端点