The Graph:Web3的API,与Web2.0大有不同
开发去中心化应用程序 (dApp) 的绊脚石之一是查询和使用来自区块链和其他“链下”解决方案的数据的复杂性。对于dApp,尤其是在以太坊区块链上运行的dApp,并非所有数据都存储在区块链上。通常涉及分散的存储网络,例如InterPlanetary File System(IPFS)。再加上区块链固有的复杂性,它们的规模大小、“gas费用”和其他障碍,使得开发者提供API(应用编程接口)的环境很困难。
The Graph是一个旨在改变这种情况的项目,它被描述为 "一个用于查询以太坊和IPFS等网络的索引协议"。该协议允许开发人员 "建立和发布开放的API,称为子图,使数据易于访问"。
区块链数据的难点
根据The Graph网站上的文档,“真的很难直接从区块链读取基本数据以外的任何内容”。他们引用的一个例子是无聊猿人游艇俱乐部(BAYC)的智能合约,这是以太坊区块链上一组流行的数字猿NFT。根据The Graph的说法,执行“对合约的基本读取操作”(拥有特定猿等)相对容易,但 "更高级的现实世界查询和操作,如聚合、搜索、关系和非粗略的过滤是不可能的。"
在Solidity上Bored Ape Yacht Club的智能合约代码
从本质上讲,无聊猿人游艇俱乐部放在区块链上的是其交易数据。该智能合约只有2000多行代码,其中大部分与猿猴的购买和转让有关。经营一家名为Northwest NFT的软件咨询公司的Patrick Price对该代码的分析指出,该代码并非完全原创。他写道:“环顾其他NFT合约,其中许多都具有相同的复制粘贴功能。”
猿本身的属性、视觉外观和其他数据存储在IPFS上。BAYC有一个网页,列出了 "每一个将存在的无聊猿的出处记录",其中包括与IPFS的链接。
每个Bored Ape图像的原始索引、分配的BAYC Token ID、SHA256 Hash输出和IPFS链接
The Graph是如何运行的?
The Graph的目标是索引所有无聊猿的数据,包括智能合约和存储在IPFS和其他地方的所有资产,然后将该索引提供给开发人员。然后可以使用标准GraphQL API查询此数据的 API,称为“子图”。
每个子图的索引是由一个 "子图清单 "定义的。这个文件 "定义了一个子图感兴趣的智能合约,这些合约中需要关注的事件,以及如何将事件数据映射到The Graph将存储在其数据库中的数据。" 这个清单被存储在IPFS中。
与其他区块链项目类似,The Graph协议中也有一个相当复杂的共识机制在发挥作用。正如The Graph的项目负责人Yaniv Tal所描述的,The Graph上的工作是由一个开放的参与者网络进行的,包括索引者(负责运行提供数据的计算机)、策展人(负责组织数据)、以及代表者(通过抵押他们的代币来增加网络的安全性)。根据Tal的说法,截至2021年底,网络上有160名索引者,7400多名代表者,以及2200多名馆长。"
至于代币GRT,在撰写本文时,它在CoinMarketCap中的市值排名为53位。
目前The Graph主要支持以太坊和兼容区块链,但 Solana、Cosmos和Polkadot的整合正在进行中。Tal还指出了 "从存储网络和点对点数据库等地方访问链外数据 "的重要性,这一点也正在进行中。
到目前为止,The Graph主要侧重于建立其以太坊和IPFS数据存储。但是在更广泛的区块链世界中还有更多的数据。显然,要提供我们在 Web 2.0 世界中习惯使用的全功能 API 类型,还有大量工作要做。
The Graph的背后团队
The Graph是由一家名为Edge & Node的公司建立的,Yaniv Tal是该公司的CEO。Nader Dabit是一位高级工程师,我在最近一篇关于Web3架构的文章中采访过他,他也为Edge & Node工作。该公司的计划似乎是建立基于The Graph的产品,以及对新生的生态系统进行投资。
Edge & Node在API方面深有造诣。三位创始人(包括Tal)曾在MuleSoft共事,MuleSoft是一家API开发者公司,于2018年被Salesforce收购。MuleSoft成立于2007年,处于接近Web 2.0的高峰。熟悉那个时代的读者可能还记得,MuleSoft在2013年收购了以API为重点的流行博客ProgrammableWeb。
尽管Edge & Node的创始人都不是MuleSoft的高管,但有趣的是,有一条线将Web 2.0的API世界和Edge & Node希望在Web3中建立的东西联系起来。
Web3方式的API
The Graph背后的团队面临着许多技术挑战,尤其是试图扩展以适应多个不同的区块链平台。此外,“链下”数据生态系统很复杂,不同存储解决方案之间的兼容性如何尚不清楚。
但我喜欢使用协议尝试将API引入新兴Web3世界的方法。在他的年终帖子中,Tal将加密协议描述为“一种新的组织结构,允许大量人员在世界任何地方进行协调。”至少在理论上,这意味着一个公司(比如MuleSoft)不必成为API开发者和该API消费者之间的中间人。有了The Graph和它的加密货币代币,人们有经济上的激励来运行一个开放的协议,这样就不需要中间件了。
然而,就像目前任何其他区块链技术一样,The Graph是否能像MuleSoft在Web 2.0中那样对Web3产生影响,还有待观察。
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场