クイックスタート
Reading time: 7 min
This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio.
サブグラフが からのデータにインデックスを付けることを確認してください。
このガイドは、次のことを前提として書かれています。
- クリプトウォレット
- 選択したネットワーク上のスマート コントラクト アドレス
Once your wallet is connected, you can begin by clicking “Create a Subgraph." It is recommended to name the subgraph in Title Case: "Subgraph Name Chain Name."
The Graph CLI is written in TypeScript and you will need to have node
and either npm
or yarn
installed to use it. Check that you have the most recent CLI version installed.
ローカル マシンで、次のいずれかのコマンドを実行します。
npm install -g @graphprotocol/graph-cli@latest
yarn global add @graphprotocol/graph-cli
Initialize your subgraph from an existing contract by running the initialize command:
graph init --studio <SUBGRAPH_SLUG>
サブグラフを初期化すると、CLI ツールは次の情報を要求します。
- プロトコル: サブグラフがデータのインデックスを作成するプロトコルを選択します
- サブグラフ スラッグ: サブグラフの名前を作成します。サブグラフ スラッグは、サブグラフの識別子です。
- サブグラフを作成するディレクトリ: ローカル ディレクトリを選択します
- Ethereum ネットワーク (オプション): サブグラフがデータのインデックスを作成する EVM 互換ネットワークを指定する必要がある場合があります。
- コントラクト アドレス: データを照会するスマート コントラクト アドレスを見つけます。
- ABI: ABI が自動入力されない場合は、JSON ファイルとして手動で入力する必要があります
- 開始ブロック: サブグラフがブロックチェーン データをインデックス化する間、時間を節約するために開始ブロックを入力することをお勧めします。コントラクトが展開されたブロックを見つけることで、開始ブロックを見つけることができます。
- 契約名: 契約の名前を入力します
- コントラクト イベントをエンティティとしてインデックス付けする: これを true に設定することをお勧めします。発行されたすべてのイベントのサブグラフにマッピングが自動的に追加されるためです。
- 別の契約を追加 (オプション): 別の契約を追加できます
サブグラフを初期化する際に予想されることの例については、次のスクリーンショットを参照してください。
前述のコマンドでは、サブグラフを作成するための出発点として使用できる scaffold サブグラフを作成します。 サブグラフに変更を加える際には、主に 3 つのファイルを使用します:
- Manifest (
subgraph.yaml
) - The manifest defines what datasources your subgraphs will index. - Schema (
schema.graphql
) - The GraphQL schema defines what data you wish to retrieve from the subgraph. - AssemblyScript Mappings (
mapping.ts
) - This is the code that translates data from your datasources to the entities defined in the schema.
For more information on how to write your subgraph, see .
サブグラフが作成されたら、次のコマンドを実行します。
$ graph codegen$ graph build
- サブグラフの認証とデプロイを行います。 デプロイキーは、Subgraph Studio の Subgraph ページにあります。
$ graph auth --studio <DEPLOY_KEY>$ graph deploy --studio <SUBGRAPH_SLUG>
バージョンラベルの入力を求められます。 「0.0.1」のようなバージョン管理には を使用することを強くお勧めします。 つまり、「v1」、「version1」、「asdf」などの任意の文字列をバージョンとして自由に選択できます。
In Subgraph Studio's playground environment, you can test your subgraph by making a sample query.
ログは、サブグラフにエラーがあるかどうかを示します。運用サブグラフのログは次のようになります。
サブグラフに障害が発生した場合は、GraphiQL Playground を使用してサブグラフの健全性をクエリできます。 以下のクエリを利用して、サブグラフのデプロイメント ID を入力できることに注意してください。 この場合、Qm...
はデプロイメント ID です (これは、サブグラフ ページの 詳細 にあります)。 以下のクエリはサブグラフがいつ失敗したかを通知するため、それに応じてデバッグできます。
{nodesyncedhealthfatalError {messageblock {numberhash}handler}nonFatalErrors {messageblock {numberhash}handler}chains {networkchainHeadBlock {number}earliestBlock {number}latestBlock {number}lastHealthyBlock {number}}entityCount}}
Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network.
In Subgraph Studio, you will be able to click the publish button on the top right of your subgraph's page.
サブグラフを公開したいネットワークを選択します。 を利用するために、サブグラフを Arbitrum One に公開することをお勧めします。
The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and it will provide you with 100,000 free queries per month.
For a higher quality of service and stronger redundancy, you can curate your subgraph to attract more Indexers. At the time of writing, it is recommended that you curate your own subgraph with at least 3,000 GRT to ensure 3-5 additional Indexers begin serving queries on your subgraph.
ガスのコストを節約するために、サブグラフを The Graph の分散型ネットワークに公開するときにこのボタンを選択すると、公開したのと同じトランザクションでサブグラフをキュレートできます。
これで、GraphQL クエリをサブグラフのクエリ URL に送信することで、サブグラフにクエリを実行できます。これは、クエリ ボタンをクリックして見つけることができます。
If you don't have your API key, you can query via the free, rate-limited development query URL, which can be used for development and staging.