チュートリアルと例

SubQuery Team約1分

チュートリアルと例

クイックスタート ガイドで SubQuery とは何か、そしてどのように動作するのかを説明するために、簡単な例を見てみました。 ここでは、プロジェクトを作成する際のワークフローと、使用する主要なファイルを詳しく見ていきます。

基本的なワークフロー

以下の例では、 クイックスタート セクションでスターターパッケージを正常に初期化したと仮定します。 そのスターターパッケージから、SubQuery プロジェクトをカスタマイズして実装するための標準プロセスを説明します。

  1. subql init PROJECT_NAME を使用してプロジェクトを初期化します。
  2. マニフェストファイル(project.yaml)を更新して、ブロックチェーンとマッピングするエンティティに関する情報を含めます。 (マニフェストファイルを参照)
  3. スキーマ(schema.graphql)に GraphQL エンティティを作成し、クエリのために抽出・保存するデータの型を定義します。 (GraphQL Schemaを参照)
  4. チェーンデータを定義した GraphQL エンティティに変換するために呼び出したいすべてのマッピング関数(例:mappingHandlers.ts)を追加します。 (マッピングを参照)
  5. コードの生成、ビルド、SubQuery Projects への公開(または自分のローカル・ノードでの実行)をします。 (クイック・スタートガイドのスタータープロジェクトの実行とクエリを参照)

ディレクトリ構造

以下のマップは、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

SubQuery ディレクトリ構造

コード生成

GraphQL エンティティを変更するたびに、次のコマンドで types ディレクトリを再生成する必要があります。

yarn codegen

これはschema.graphql内で事前に定義した型ごとに生成されたエンティティ・クラスを含む src/types ディレクトリを作成します(または既存のディレクトリを更新します)。 これらのクラスは、タイプセーフなエンティティのロード、エンティティフィールドへの読み取りと書き込みのアクセスを提供します。 (このプロセスについては、GraphQL Schemaを参照)

ビルド

ローカルホストの SubQuery Node 上で SubQuery プロジェクトを実行するには、最初にビルド作業をする必要があります。

プロジェクトのルートディレクトリから build コマンドを実行します。

::: code-tabs @tab:active yarn shell yarn build