革命性的开启2019——区块链搜索引擎

2019-1-7 16:31:01 / 作者 dfuse

之前,我们都没有看到有能比拟现代搜索引擎力量,在公共区块链上搜索整个交易历史的方法。 各种区块浏览器仅限于按ID查找单个交易或帐户。 但现在,多亏了dfuse,区块链数据的搜索变得很容易。

dfuse 将搜索带到了一个新高度

eosq 是最深入、最高精度的区块浏览器,通过 dfuse 搜索查询引擎(SQE)支持的新搜索引擎,它的独特功能还在不断增长。这展示了开发人员可以如何用 dfuse SQE 执行单个查询操作来实现的强大而复杂的区块链数据搜索,结果几乎可以立刻在他们的应用程序中使用。

这些独特的功能适用于所有受 dfuse API 支持的 dapp。

接下来让我们介绍一些用户或开发人员能使用 dfuse SQE 执行的搜索例字以及这些查询应该如何构建。

任何账户1到账户2之间的EOS转账

dapp 可能需要解决的一个常见问题是“从我的帐户转移到另一个用户帐户的历史记录是什么?”在dfuse中的查询结构将是:

receiver:eosio.token action:transfer data.from:account1 data.to:account2

举个具体的例子是:receiver:eosio.token action:transfer data.from:eoscanadacom data.to:eoscanadaops

这个命令会让 dfuse SQE 反馈由 eosio.token 合约代码(接收方)运行的、涉及从 eoscanadacom eoscanadaops  的转账的所有交易

专家建议:如果您想查看从 eoscanadacomeoscanadaops 的转帐以及从 eoscanadaopseoscanadacom 的转帐,您可以将查询命令修改为:

receiver:eosio.token action:transfer (data.from:eoscanadacom OR data.from:eoscanadaops) (data.to:eoscanadacom OR data.to:eoscanadaops)

 

 

查看由指定权限签名的所有交易

如果用户想要检索由指定帐户的任何权限授权的所有交易,则可以使用以下查询命令:

auth:account1 例如:auth:eoscanadacom

这将反馈 eoscanadcom 已签名的所有交易,而无需过滤帐户收到的任何通知、消息、转账或其他操作。

专家建议:如果您想进一步过滤到帐户的特定权限(比如 owner),您可以使用以下查询:

auth:eoscanadacom@owner

理解 SQE 语言

SQE 语言适用于使用 dfuse API 的开发人员。 但我们已将其集成到 eosq中,以便让每个想要搜索 EOS 区块链和测试网的用户更广泛地使用它。 以下是查询语言的详细的列表。

可用于查询的前缀和字段:

action: 正在执行的操作的名称。

account: 操作所调用的帐户。与接收者不同。 这将与从合约发送到另一个帐户的通知相匹配。

receiver: 表示有已执行操作的代码的帐户,是明确的。

act_digest: 二进制操作有效负载的哈希的16个第一个十六进制字符。 去搜搜那些“WE LOVE BM”吧?:-)

auth: 反馈指定帐户权限签名的所有操作。 这可以使用两种格式:

  • auth:account 反馈帐户签名的所有操作
  • auth:account@permission 反馈帐户中某权限签署的操作

data.sub.fields: 可以匹配大量特定于操作的字段以实现相等性。 例如:data.fromdata.to(出现在在转账操作中)。

  • 列表是展平的,当列表中存在查询时,术语会相匹配。
  • 嵌套文档字段由一个 . 分隔, 让  {"data": {"user": {"id": "hello"}}} 与  data.user.id:hello 相匹配

随着 dfuse API 的进步和改进,我们的英文文档中提供了保持和了解 SQE 语言结构的最佳资源。

将这种搜索功能添加在区块链上是我们很荣幸为所有用户提供的一项重大创新。

如果您有任何进一步的功能要求,请告诉我们 - 我们很乐意收到您的反馈。 加入我们的Telegram群,立即获取您自己的免费 dfuse API key ,以优化您在EOS上的开发体验。

 

获取免费API密钥

话题 eosq, search, dfuse API