EOSIO

适用于:

  • EOSIO 主网
  • Worbli
  • WAX
  • EOSIO 测试网
  • CryptoKylin 测试网
  • 你的专属网络

以太坊(内测版)

适用于:

  • Ethereum 主网
  • Ropsten

Solana

Coming soon...

开发者提示与技能分享:以太坊 API——Search 查询引擎

2020-5-28 14:10:30 / 作者 dfuse

以太坊开发者都面临的一个主要挑战是保证收到的数据是真正与区块链同步的,同时能监测到分叉。dfuse 的联合创始人兼 CTO Alexandre Bourget 在这个视频中介绍强大的搜索 API,帮助大家解决这个难题。

 

Bilibili 视频链接


dfuse Search 让你能用 AND、OR 和 NOT 运算符编写查询语句,搜索以太坊的两种数据:

  • EVM调用,查询关键字有: signer(签署者)、input(输入)、value(值)、to(接收者)、from(发送者)、method(方法),等等。
  • 智能合约中的定义的事件的日志,查询关键字有:topic.0、topic.2、data.1 等等。

当智能合约将某个日志事件标记为已索引时,它们会进节点的 Bloom 过滤器。但 dfuse 会索引一切,不光是在 Bloom 过滤器中找到的信息。dfuse 的搜索范围可以扩展到默认范围之外,因为它是真实数据的直接搜索而不是 Bloom 过滤器的概率查询,而且不会提供误报。

你不在会为了质量而牺牲速度。 dfuse Search 提供闪电般的搜索,通常会在一秒内返回结果,让你能够创造出超凡的用户体验。以太坊上历史数据庞大,因此 dfuse 利用缓存来调用在链上找不到的结果的位置。这意味着,在首次对全链进行搜索后,无论交易发生的时间有多远,dfuse 都会给你全生态中最快的响应时间。

dfuse 搜索还可以作为实时侦听器。利用可监测分叉的 cursor 游标,可以确保你不错过任何的相关信息。你可以对历史进行搜索,直到追上头块,然后继续一直监听下去。这样的功能使许多开发人员只需使用 dfuse 的端点即可跳过很多障碍、开发时间和数百行额外的代码。

可监测分叉的 cursor 游标,即使连接断了,即使您看到的最后一个交易不在链中,重连后也可以取回所需的所有数据。这样就不再需要写代码来处理每天发生的大量分叉,dfuse 会为你做这些繁重的工作。我们的许多用户都说,这个功能就可以帮他们删除多达90%的代码。

在以太坊上,你经常会发现每天出现一到两个区块的深度重组,每几个月还会有一次三区块的深度重组。Etheruem Classic (以太坊经典版)曾经甚至有过51个区块的重组。对于处理敏感信息的 dapp (例,金融交易),能这样处理分叉是非常重要的。在监听过程中如果遇到分叉, dfuse API 可以向你发送 UNDO 提示,让你可以及时知道并快速响应交易的回滚。

关注我们的 Twitter微博微信公众号,加入dfuse Telegram微信群,和众多开发者讨论在做的项目,我们知道如何能帮到你。我们还为以太坊开发人员提供了免费版的账号,让你可以立即上手!

话题 视频, dfuse Search, 以太坊