概念
区块链有一个巨大的、只能追加记录的账本(比如以太坊),这导致查询数据极其困难。
The Graph 就是为了解决这个问题而生的。它通过索引(Indexing)区块链数据,让开发者可以使用标准的 GraphQL 语言高效地查询链上信息。
The Graph 的核心工作原理
The Graph 并不是直接修改区块链,而是在区块链之上加了一个“搜索层”:
-
事件监听: 它会监控区块链上的特定智能合约事件(Events)。
-
数据加工、存储: 当事件触发时,它根据开发者定义的逻辑,把原始的十六进制数据转换成易读的格式,并将处理后的数据存入数据库。
开发者通过 GraphQL 接口,瞬间就能查到复杂的数据关联。
Subgraph(子图)
The Graph 的核心单元叫做 Subgraph(子图)。你可以把 Subgraph 理解成一个"定制化的数据订阅方案"。
Subgraph 就是你在这条流水线旁边安装的一个专属筛选机器。你告诉它:“我要监听 Uniswap V3 合约,只要有 Swap 事件,就把里面的代币对、交易量、价格这些字段提取出来,存到我专属的数据库里。” 从此,这个 Subgraph 就会 7×24 小时不间断地自动运行,把你关心的数据实时地整理好,存入一个可以被 GraphQL 查询的数据库。
GraphQL
GraphQL 是一种用于 API 的查询语言,以及一个用于履行这些查询的运行时(Runtime)。
它最初由 Facebook 开发,旨在解决 REST API 的痛点。它的核心理念是:让客户端(前端)自己定义“我需要什么数据”,然后服务器(Backend/Graph)精确地返回这些数据。
而 REST API 是服务器定义好 JSON 结构。
