The Graph
在构建 dapp 时,获取智能合约的历史数据可能会令人沮丧。 The Graph 通过被称为子图的应用程序接口,提供了一种查询智能合约数据的简便方法。 图形的基础设施依赖于索引器的去中心化网络,使您的 dapp 真正实现去中心化。
Kaia Mainnet 和 Testnet 均由 The Graph 提供支持。
快速入门
设置这些子图只需几分钟。 要开始操作,请遵循以下三个步骤:
- 初始化子图项目
- 部署和发布
- 从您的应用程序中查询
定价
- Studio 中的速率限制测试终点是免费的。
- 去中心化网络的 API 调用按次付费,每 10 万次查询收费 4 美元。 前 100K 次查询免费!
下面是一个步骤:
1. 初始化子图项目
在 Subgraph Studio 上创建子图
访问 [Subgraph Studio] (https://thegraph.com/studio/) 并连接您的钱包。 连接钱包后,您可以点击 "创建子图"。 选择名称时,建议使用标题大小写:"子图名称链名称"。

然后,您将进入您的子图页面。 您需要的所有 CLI 命令都将显示在页面右侧:

安装图形 CLI
在本地计算机上运行以下程序:
npm install -g @graphprotocol/graph-cli
初始化子图
您可以直接从您的子图页面中复制,以包含您的特定子图标题:
graph init --studio<SUBGRAPH_SLUG>
系统会提示您提供子图的一些信息,如下所示:

输入合约信息后,graph-cli 会尝试从 blockexplorer API 获取 ABI、StartBLock 和合约名称。
不过,KaiaScan 的 API 还没有准备好,所以当被要求重试时,只需说 "不"。 以下是手动获取这些信息的方法:
-
ABI:您需要在运行
graph init的同一目录下准备一个包含 ABI 的 json 文件。 从Kaiascan 上的合同页面,进入 "合同 "选项卡,点击 "查看代码",就能复制 ABI。 将其保存为 json 文件,放在运行graph init的同一文件夹中。 在上面的截图中,它被保存为abi.json。
-
启动区块:点击创建合约的交易哈希值。 在那里你会找到创建合同的区块。

-
合同名称:输入合同名称即可。 如果这是您在该子图中索引的唯一一份合同,那么使用默认的
Contract即可。
2) 部署和发布
部署到 Subgraph Studio
首先运行这些命令:
$ graph codegen$ graph build
然后运行这些程序来验证和部署您的子图。 您可以直接从 Studio 中的子图页面复制这些命令,以包含特定的部署密钥和子图标题:
$ graph auth --studio<DEPLOY_KEY>$ graph deploy --studio<SUBGRAPH_SLUG>
系统会要求您提供版本标签。 您可以输入类似 v0.0.1 的内容,但也可以自由选择格式。
测试子图
您可以在操场部分进行示例查询,测试您的子图。 详细信息 "选项卡将显示 API 端点。 您可以使用该端点从您的 dapp 进行测试。
