区块链是一个去中心化账本,账本记录的是数据,不过在浏览器里看到的是,交易打包成块后,交易数据都变成了哈希。在以太坊的erc20协议作用下,我们可以看到转账交易等这些基础数据。
但对于用户来说,查询区块链的数据,如果浏览器没有特殊显示的情况下,只能看到哈希,在可能的需求里,区块链上会有很多类型的数据,这些数据需要索引和查询。
这些索引和查询可以把数据进行统计,进行聚合显示,帮助用户使用。
在这个部分,The Graph是一个示例,是一个专做索引和查询的协议,所有的区块链网络理论上都需要部署这样的工具。
例如,The Graph在以太坊上,使查询难以直接查询的数据成为可能。
Hotcoin(热币)于7月11日16:00开放ZK/USDT交易:据官方消息,Hotcoin(热币)已于(GMT+8)2021年7月11日16:00开放ZK/USDT(期货)交易。届时将根据ZK主网上线进度情况第一时间按照1:1进行兑换,具体兑换时间和兑换方式敬请留意官方公告。
据悉,ZK是Poriot链的原生加密货币资产,在Poriot充当支付手续费和运算招待费用的媒介(Gas),平台去中心化的虚拟机需要通过ZK才能处理点对点的智能合约,同时ZK也是PayPort钱包的平台币,PayPort的部分使用行为需要支付ZK来完成。ZK的发行总量为3.3亿枚,流通总量20万枚,随着Poriot主网的上线,ZK将逐渐释放。[2021/7/11 0:43:17]
像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 查询该子图的数据。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。