在快速入门指南中,我们快速浏览了一个示例,让您了解了 SubQuery 是什么以及它是如何工作的。 在这篇文章中,我们将仔细介绍创建项目时的工作流程以及您将使用的关键文件。
基本工作流程
以下一些示例会假定您已成功初始化快速入门部分中的入门文件包。 我们将逐步完成自定义和实施您的 SubQuery 项目的标准流程。
1、使用 subql init PROJECT_NAME 初始化您的项目
2、更新清单文件 (project.yaml) ——加入关于您的区块链的信息和您将映射的实体的信息——请参阅清单文件:https://doc.subquery.network/create/manifest.html
3、在您的架构 (schema.graphql) 中创建 GraphQL entities,该 GraphQL entities 定义了您将提取并保留来用于查询的数据的类型——请参阅 GraphQL 架构:https://doc.subquery.network/create/graphql.html
4、添加所有您希望用来将链数据转换为您定义的 GraphQL entities 的映射函数(例如,mappingHandlers.ts) ——请参阅 Mapping:https://doc.subquery.network/create/mapping.html
5、生成、构建您的代码并将其发布到 SubQuery 项目中(或在您自己的本地节点中运行)——请参阅我们的快速入门指南中的“运行和查询您的入门项目”。
目录结构
下图概述了运行 init 命令时一个 SubQuery 项目的目录结构。
例如:
代码生成
无论你想何时更改 GraphQL entities,都必须使用以下命令重新生成类型目录。
yarn codegen
这将创建一个新src/types目录(或更新现有的目录),您之前在 schema.graphql 中定义的每种类型生成的实体类别就包含在新目录中,包括类型安全 entity 加载、对 entity 字段的读写访问——在 GraphQL Schema 中查看有关此过程的更多信息。https://doc.subquery.network/create/graphql.html
构建
为了在本地托管的 SubQuery 节点上运行您的 SubQuery 项目,您需要首先构建您的项目。
从项目的根目录运行构建命令。
yarn build
npm run-script build
// Make sure to add code blocks to your code group
注册
SubQuery 不再支持 console.log 命令。 取而代之,我们在类型中注入了一个 logger 模块,这意味着我们可以支持能接受各种注册级别的注册器。
logger.info(); logger.debug(); logger.warn();
要运行 logger.info 或 logger.warn 命令,只需将该行放入映射文件中。
要运行 logger.debug 命令,需要一个额外的步骤。 将 –log-level=debug 添加到您的命令行。
如果您正在运行 docker 包,请将此行添加到您的 docker-compose.yml 文件中。
您现在应该会在终端屏幕中看到新的注册信息。