SubQuery开发者指南丨创建一个SubQuery项目
在快速入门指南中,我们快速浏览了一个示例,让您了解了 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 项目的目录结构。
- project-name
L package.json
L project.yaml
L README.md
L schema.graphql
L tsconfig.json
L docker-compose.yml
L src
L index.ts
L mappings
L mappingHandlers.ts
L .gitignore
例如:
代码生成
无论你想何时更改 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('Info level message');
logger.debug('Debugger level message');
logger.warn('Warning level message');
要运行 logger.info 或 logger.warn 命令,只需将该行放入映射文件中。
要运行 logger.debug 命令,需要一个额外的步骤。 将 --log-level=debug 添加到您的命令行。
如果您正在运行 docker 包,请将此行添加到您的 docker-compose.yml 文件中。
您现在应该会在终端屏幕中看到新的注册信息。
Website:
https://www.subquery.network/
Telegram:
https://t.me/subquerynetwork
Twitter:
https://twitter.com/subquerynetwork
Medium:
https://subquery.medium.com/
Github:
https://github.com/subquery/subql
Matrix:
https://matrix.to/#/#subquery:matrix.org
Linkedin:
https://www.linkedin.com/company/subquery
往期精彩
《SubQuery View : Astar 会是波卡生态的 DApp 中心枢纽吗?》
《战略合作丨Karura 与 SubQuery 合作,为 Kusama Builders 提供 DeFi 数据》
《SubQuery 联合 Moonbeam ,共同致力于波卡生态的发展》
《SubQuery对话Phala,打造Web 3.0共享云生态》
《SubQuery开发者指南丨Hello World Explained》
《战略合作丨SORA 与 SubQuery 合作向 SORA 网络提供数据》
《SubQuery开发者指南丨Hello World (由SubQuery 托管)》
《战略合作丨SubQuery为Subscan的多重签名工具提供支持》
《SubQuery丨从竞拍者到支持者,Bifrost如何用SALP协议助力插槽竞拍》
《SubQuery 开发者指南丨安装 SubQuery》
《SubQuery获得900万美元融资,由Arrington Capital、DCG和Stratos Technologies领投》
《SubQuery对话Litentry:未来已来,元宇宙世界里你需要的是什么?》