The Graph 笔记

777 阅读2分钟

The Graph

The Graph 网络是一个去中心化的索引协议,用于组织区块链数据。 应用程序使用 GraphQL 查询称为子图的开放 API,以检索网络上的索引数据。 通过 The Graph,开发者可以建立完全在公共基础设施上运行的无服务器应用程序。

用它做什么(我用到的)

swap交易数据展示 token holder快照

官方教程

#Thegraph

官方教程视频

#Building a Subgraph with Subgraph Studio

步骤

1. 安装并初始化 @graphprotocol/graph-cli

yarn global add @graphprotocol/graph-cli

graph init

2.初始化会得到一个demo (我们需要的是3个文件)

  • subgraph.yaml: 包含子图清单的 YAML 文件
  • schema.graphql: 一个 GraphQL 模式文件,它定义了为您的子图存储哪些数据,以及如何通过 GraphQL 查询这些数据
  • AssemblyScript映射: 将事件数据转换为模式中定义的实体(例如本教程中的mapping.ts)的 AssemblyScript 代码

3. 定义子图清单(subgraph.yaml)

  • 把abi文件的位置写好
  • 把event事件写好
  • entities 内写实体

4.定义实体(schema.graphql)

  • 就是你需要的数据
  • 类似ts 设置参数和类型

5.编译生成generated

yarn codegen

6.编写映射

  • 设置id
  • load(id)
  • save()

7.发布

  • ETH主网使用Subgraph Studio 发布
  • 其他的链使用Hosted Service
  • 使用Hosted Service 需要使用github 链接账户后,创建子图, 创建后会生成密钥(ID) 复制 在项目终端执行graph auth --product hosted-service xxxId
  • 发布前执行 graph build 检查
  • 无问题的话 就可以发布了 在package.json 设置deploy 的子图名称 执行 graph deploy 发布 发布完成后 控制台会有链接 使用链接到托管服务查看 等待同步 查询数据
  • 更新就是再次deploy 会在托管服务看到正在pending 同步的数据

8.参考链接