メインコンテンツへスキップ

別のブロックの高さで開始するには?

SubQuery Team1分以内

別のブロックの高さで開始するには?

ビデオのガイド


はじめに

デフォルトでは、すべてのスタータープロジェクトはジェネシスブロックからブロックチェーンの同期を開始します。 つまり、ブロック 1 から。 大きなブロックチェーンの場合、完全に同期するのに通常数日または数週間がかかる可能性があります。

SubQuery ノードの同期をゼロ以外の高さから開始するには、project.yaml ファイルを変更し、startBlock キーを変更するだけでよい。

以下は project.yaml ファイルで、開始ブロックが 1,000,000 に設定されています。

specVersion: 0.0.1
description: ""
repository: ""
schema: ./schema.graphql
network:
  endpoint: wss://polkadot.api.onfinality.io/public-ws
  dictionary: https://api.subquery.network/sq/subquery/dictionary-polkadot
dataSources:
  - name: main
    kind: substrate/Runtime
    startBlock: 1000000
    mapping:
      handlers:
        - handler: handleBlock
          kind: substrate/BlockHandler

ゼロから始まらない理由は?

主な理由は、ブロックチェーンを同期させる時間を短縮できることです。 つまり、最後の 3 ヶ月間の取引にしか興味がない場合、その最後の 3 ヶ月分しか同期しないので待ち時間が少なく、より早く開発を開始できます。

ゼロからスタートしないことの欠点は何?

最も明らかな欠点は、ブロックチェーン上の持っていないブロックのデータをクエリできないことです。

現在のブロックチェーンの高さを把握する方法とは?

Polkadot ネットワークをご利用の場合は、https://polkascan.io/open in new window にアクセスしてネットワークを選択し、「Finalised Block」の数値を見ます。

リビルドやコード生成をする必要があるかどうか?

いいえ。 本質的に設定ファイルである project.yaml ファイルを変更するため、typescript コードをリビルドまたはコード生成する必要はありません。