金色观察|区块链索引协议的作用

2021-12-10 17:15:17 6246

区块链是一个去中心化账本,账本记录的是数据,不过在浏览器里看到的是,交易打包成块后,交易数据都变成了哈希。在以太坊的erc20协议作用下,我们可以看到转账交易等这些基础数据。

但对于用户来说,查询区块链的数据,如果浏览器没有特殊显示的情况下,只能看到哈希,在可能的需求里,区块链上会有很多类型的数据,这些数据需要索引和查询。

这些索引和查询可以把数据进行统计,进行聚合显示,帮助用户使用。

在这个部分,The Graph是一个示例,是一个专做索引和查询的协议,所有的区块链网络理论上都需要部署这样的工具。

例如,The Graph在以太坊上,使查询难以直接查询的数据成为可能。

Uniswap等具有复杂智能合约的项目和Bored Ape Yacht Club这样的NFT将数据存储在以太坊区块链上后,从区块链上读取基本数据以外的任何内容都是困难的。

例如 Bored Ape Yacht Club NFT,对合约执行读取操作,可以获得拥有者信息、总供应量、内容 URI等,这些都是合约里的基本信息,如果想像搜索引擎一样实现高级的查询和操作,如聚合、搜索、筛选都是不可能的。

因为如果想要获取这些数据,就必须处理交易者曾经发出的所有事件,用代币 ID 和 IPFS 哈希从IPFS存储位置读取元数据,然后对其进行聚合。费时费力。

The Graph 通过一个去中心化的协议解决了这个问题,该协议可以对区块链数据进行索引并实现高性能和高效的查询。然后可以使用标准 GraphQL API 查询这些 API(索引“子图”)。

具体实现流程如下:

1.去中心化应用程序通过智能合约上的交易向以太坊添加数据,智能合约在处理交易时发出一个或多个事件.

2.The Graph节点不断扫描以太坊以寻找新块以及它们可能包含的子图数据。The Graph节点在这些块中为子图查找以太坊事件并运行映射处理程序。映射是一个 WASM 模块,它创建或更新Graph Node 存储的数据实体以响应以太坊事件。

3.去中心化应用程序使用节点的GraphQL 端点查询 Graph Node 以获取从区块链索引的数据。Graph Node 反过来将 GraphQL 查询转换为对其底层数据存储的查询,以利用存储的索引功能获取这些数据。去中心化应用程序在丰富的用户界面中为最终用户显示这些数据,他们用这些用户界面在以太坊上发布新交易。

Ps:每个子图的页面都包含一个 Playground,可使用 GraphQL 查询该子图的数据。

声明:所有在本站发表的文章,本站都具有最终编辑权。本站全部作品均系微算力原创或来自网络转载,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责,所产生的纠纷与本站无关。如涉及作品内容、版权和其它问题,请尽快与本站联系。

相关推荐

  • 微信:aspcool
  • QQ:580076
  • 手机:18992859886
  • 工作时间:9:00~18:00(周一至周五)