戈尔茨基

导言
Goldsky 是一款高性能数据索引器,旨在简化链上数据的提取、转换和加载(ETL)。它使开发人员能够更快地构建和发布实时分析和区块链集成应用。
Goldsky 提供两种核心产品:
- Subgraphs:灵活、TypeScript 驱动的索引,支持 GraphQL API、webhook 等。
- Mirror:只需一个 YAML 配置,即可将实时区块链数据直接流式传输到您的数据库或消息队列中。
Kaia Mainnet 和 Testnet 均由 Goldsky 提供支持
你将学到什么
在本指南结束时,您将
- 了解 Goldsky 的低代码子图(即时子图)如何工作
- 使用 Goldsky CLI 配置和部署子图
- 在 Kaia 主网上索引 USDT 合约的转账事件
- 通过 GraphQL 访问和测试子图端点
先决条件
在开始之前,请确保您具备以下条件:
1. 安装 Goldsky CLI - 按照操作系统的安装 说明进行操作。 - Windows 用户:在安装 CLI 之前,确保已安装 Node.js 和 npm。
2. 创建 Goldsky 账户 - 如果还没有账户,请在 Goldsky.com 注册。
3. 生成 API 密钥 - 在 Goldsky 面板中导航至 ** 项目设置**。 - 创建并复制您的 API 密钥。
4. 验证 CLI````bash goldsky login
- 按提示粘贴 API 密钥。- 运行``bashgoldsky``` 确认 CLI 身份验证
入门
Goldsky 支持三种部署子图的方法:
- 来自 源代码 - 从本地开发环境部署定制的子图。
- 从其他主机迁移 - 从 The Graph 或 Alchemy 等平台迁移现有子图。
- 即时子图(低代码 / 无代码- 使用配置文件(低代码)或用户界面(无代码)部署子图,无需编写传统的子图映射代码。
在本指南中,我们将使用低代码方法部署一个子图,用于索引 Kaia Mainnet 上 USDT 合约的 Transfer 事件。
设置和部署
低代码方法允许我们手动创建配置文件,但我们仍然不需要编写传统的子图映射代码--Goldsky 会根据我们的配置生成它。
因此,在本节中,您只需要.NET Framework 3.0:
- Kaia 上的 USDT 合同地址
- 合同的 ABI(应用程序二进制接口
- 起始区块(部署合同的区块)
检索 USDT 合同 ABI
-
单击 "合同 "选项卡,找到 "合同 ABI "部分。
注:USDT 是代理合约。请务必检索执行合同 ABI。
-
复制并粘贴合约 ABI,然后将其保存为 abi.json 文件,保存在您的工作目录中。
-
记录合同的部署区块编号。
创建配置文件
下一步是创建即时子图配置文件(例如 usdt-demo-config.json)。
该文件由五个主要部分组成:
- 配置版本号
- 配置名称
- 履行机构
- 链条
- 合同实例
版本号
这是 Goldsky 配置文件格式的版本号,而不是子图的版本号。最新版本号请参阅此 reference。
配置名称
这是您自选的名称,可帮助您了解此配置的用途。它仅用于内部调试。在本指南中,我们将使用 usdt-demo
ABI、链和合同实例
这三个部分是相互关联的。
-
命名您的 ABI,并输入您之前保存的 ABI 文件的路径(相对于本配置文件的位置)。在本例中,是
usdtabi和abi.json。 -
写出合约实例,引用你之前命名的 ABI、部署地址、所在链、起始块。
{ "version": "1", "name": "usdt-demo", "abis": { "usdtabi": { "path": "./abi.json" } }, "instances": [ { "abi": "usdtabi", "address": "0xd077a400968890eacc75cdc901f0356c943e4fdb", "startBlock": 30801565, "chain": "kaia" } ]}
这种配置支持多种用例,包括索引具有不同 ABI 的多个合同、在多个链上部署的同一合同或在不同网络上具有独特 ABI 的多个合同。
部署子图
配置文件准备就绪后,就可以部署子图了。
使用命令部署子图:goldsky subgraph deploy name/version --from-abi <path-to-config-file>,然后输入创建的配置文件的路径。
例如
goldsky subgraph deploy usdt-demo/1.0 --from-abi usdt-demo-config.json

Goldsky 会自动生成所需的子图代码,以您的名义进行部署,并提供一个查询端点供您立即使用。
打开端点会启动一个基于网络的 GraphQL 浏览器,您可以在其中检查模式并编写查询,以便集成到您的应用程序中。
查询子图
祝贺你您已成功部署子图。
在查询之前, 可能需要等待索引器完全同步,这取决于配置文件中定义的 startBlock 值。您可以直接在 Goldsky 面板上监控同步进度。
同步完成后,就可以使用 Goldsky 提供的公共端点查询子图了:
https://api.goldsky.com/api/public/project_cmkv4p7xa8ix401vc3f32g20g/subgraphs/usdt-demo-kaia/1.0/gn
使用从 Goldsky 面板链接的基于网络的 GraphQL 浏览器,以交互方式浏览模式和测试查询
