区块广播:

dfuse 发布以太坊上最快、数据最丰富的查询引擎

dfuseio船员发布在 dfuse
 5749  0

今天,dfuse 团队推出了在以太坊上的 dfuse Search 查询引擎。

一直以来,在以太坊上查询交易(转账和变异函数调用)和状态(变量的历史值)都是个缓慢又痛苦的过程,即使是一个简单的搜索也需要几分钟才能完成。想要有快速、可靠的区块链数据查询引擎是一个棘手的技术问题,更不用说想让它的功能强大且性能高,完成这个任务需要克服技术挑战有很多:

  • 原生的以太网节点仅在其索引中包含在部署智能合约时定义的日志字段,从而让人们需要在可用性和成本之间进行权衡;
  • 查询多个负载均衡的以太坊节点需要开发人员去处理不确定性和保证数据的最终一致性
  • 复杂的编译器技术常常会使人们混淆存储的键值对。

dfuse Search 简易化构建高性能应用程序的过程,在一秒钟内实现对全链历史的筛选查询,准确匹配到符合你筛选条件的交易,并通过单个串流读取输出你需要的数据,还能自动处理断连和重连、也消除了误报的情况——让你不错过任何一个节拍! dfuse 还可以观测和处理链的分叉,省去你的工作。

dfuse Search 提供的数据细化程度在区块链上是无先例的,能帮助你构建世界级的应用程序,可实现的实例有:

  • 高性能和用户交互界面(借贷平台、钱包、去中心化交易所、游戏等)
  • 实时跟踪去中心化交易所或其它 DeFi 形式的交易
  • 高精度的 dapp 数据分析

要访问在以太坊上的内测版 dfuse Search:

dfuse Search 查询语言

dfuse Search 查询语言类似于 Kibana 或 GitHub 公开的 issue 筛选的语言。用一个简单的 flat 字符串 key1:value1 key2:value2 表示,也允许使用否定句、用 OR 分隔的组合句。

dfuse Search 索引区块链上的每个EVM调用、每个日志,为你的查询提供前所未有的颗粒度。

 

查询 EVM 的调用

要查询由某个地址签名的所有交易,请使用:

signer:0x59a5208B32e627891C389EbafC644145224006E8

要获得对某个合约的所有 call(非委托调用或 callcode),请使用:

callType:call to:0x5df9b87991262f6ba471f09758cde1c0fc1de734

要查询对某合约提供某指定输入的交易,请使用:
input.0:00000000000000000000000084ae8708798c74ef8d00f540c4012963955106ff to:0x06012c8cf97bead5deae237070f9587f8e7a266d

查询所有触发了在合约上的指定 method 的交易,请使用:

method:a9059cbb to:0x8fdcc30eda7e94f1c12ce0280df6cd531e8365c5

或使用:

method:'transfer(address,uint256)'

查询任何对合约中指定 key 更改了存储的 EVM 调用:

to:0xa327075af2a223a1c83a36ada1126afe7430f955 storageChange:0x3

你还可以用 value 来查到从一个 call 转到另一个 call 的值,用 nonce 和 from 查询来自某个指定用户的交易,然后再和其他的 dfuse Search 配合使用。

 

对日志进行查询

想对日志进行查询的请试试 :

address:dac17f958d2ee523a2206206994597c13d831ec7

按索引主题或数据直接进行查询可使用:

data.0:1eda1ceca1274d6ab9101c30abd6b8b205861286

或使用:

topic.0:ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

或组合你的查询来找到你想找的转账:

topic.0:ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef (topic.1:91b356c3e5e0d7cbe261dfa29e11a554b7bc6406 OR topic.2:91b356c3e5e0d7cbe261dfa29e11a554b7bc6406)

可与 signer 和其它的查询字段配合使用

dfuse 全面观测和处理链的分叉

dfuse Search 可帮助你观测分叉并解决链重组的问题,让你无需再去自行处理这个复杂的问题。获取一个可以在全链上探测分叉的 cursor,在下一个查询中将其传回,让你永远不会错过任何一个节拍。

你可以定义查询的区块范围,按升序或降序查询。进行升序查询时,你可以使用内置的 cursor 在得到所有结果后继续搜索,监听新的匹配项。请参阅此文章中对此功能的展示。

dfuse 以太坊服务的 Alpha 内测

以太坊上 dfuse Search 目前处于内测状态。这是我们的第一次将其公开发布,因此我们将根据内测用户的反馈来改进 API。请随时告诉我们你希望看到的内容以及能帮助你改善开发体验的建议。加入 dfuse Ethereum Telegram 群,让我们共同构建明日的次世代 dapp

  • 正序
  • 最新
沙发,很寂寞......
登录 账号发表你的看法,还没有账号?立即免费 注册
帖子数 69 获赞数 1
dfuse 是区块链 API, 通过组织全球的去中心化数据,帮助开发人员构建高性能的应用程序。 登陆官网 dfuse.io 获取免费 API Key。 进开发者微信群请加管理员:EOS_Canada
推荐节点
热帖榜
热门跟帖