Skip to main content
Injectiveアーカイブノードのセットアップ、設定、およびリカバリのガイドです。ゲートウェイプロキシの背後にセグメント化されたアーカイブノード群をデプロイする方法に加え、協調アップグレードや予定外のチェーン停止後にアーカイブノードを復旧する方法を説明します。
プルーニングされたスナップショットやバリデーターの復旧をお探しですか? プルーニングされたスナップショットのリソースおよび協調セキュリティアップグレードの復旧手順については、バリデーターのトラブルシューティングガイドを参照してください。
アップグレードまたは停止後の復旧が必要ですか? 復旧手順についてはアップグレードまたは停止後のアーカイブノードの復旧に進んでください。

アーカイブノードのセットアップ

アーカイブデータの提供をより扱いやすくするため、データを小さなセグメントに分割しています。これらのセグメントは s3://injective-snapshots/mainnet/subnode に保存されています。 このバケットは一般公開されています。AWSの認証情報は不要です:

命名規則

ディレクトリ名は、ブロック高の範囲を百万(M)単位でエンコードしています。たとえば、138150 には138Mから150Mまでのブロックが含まれます。セグメントが重複している場合(例:88968898、あるいは 119127119141119143)、より新しい、または範囲の広いセグメントには通常、修正が含まれているか、カバー範囲が拡張されています。不要な重複を避けつつ、目的の範囲を最もよくカバーするセグメントを選択してください。

利用可能なセグメント

この表には最新のセグメントが含まれていない場合があります。新しく公開されたセグメントを確認するには、上記の aws s3 ls コマンドを実行してください。
未定または近日公開と記載されている行は、S3上には存在するものの、バージョンとディスクサイズがまだ検証されていないセグメントです。これらを使用する前に、インフラチームに問い合わせるか、セグメントのメタデータを確認してください。

全範囲をカバーするためのセグメントの選択

いくつかのセグメントはブロック高の範囲が重複しています。すべてのセグメントが必要なわけではありません。ジェネシスから現在のチェーン先端までの完全なアーカイブカバレッジを実現するための推奨最小セットは以下のとおりです: プルーニングされた先端(tip)ノードは不可欠です。アーカイブセグメントは静的なスナップショットであり、ライブチェーンとは同期しません。ゲートウェイは直近のブロックに対するクエリをプルーニングされたノードにルーティングし、このノードはp2p経由で同期を維持します。先端ノードを blocks: [1000] で設定する方法については、以下のゲートウェイ設定を参照してください。 これらのセグメントは、ブロック範囲に基づいてクエリを適切なノードにルーティングするアグリゲータープロキシであるゲートウェイによって結合されます。 アーカイブアーキテクチャ

システム要件

アーカイブデータのスライスをホストする各ノードは、以下の最小要件を満たす必要があります。

セットアップ手順

アーカイブセグメントをホストする各ノードで実行:

1. セットアップに必要な履歴を含むアーカイブセグメントをダウンロードします

2. 上記の表に基づいて、適切なinjectiveバイナリまたはイメージタグをダウンロードまたは設定します

3. 設定フォルダを生成します

4. app.tomlファイルでプルーニングを無効化し、config.tomlファイルでp2pをブロックし、ログレベルをerrorに設定します。

これにより、データがプルーニングされず、ノードが停止状態を維持することが保証されます。ログレベルをerrorに設定するとディスク操作が減り、パフォーマンスが向上します。

5. ノードを起動します

Gateway設定

Gatewayは、リクエストされたブロック高に基づいてRPC、gRPC、およびAPIクエリを正しいアーカイブノードにルーティングするリバースプロキシです。以下のリファレンス実装は、エコシステムコントリビューターであるDecentrioによるものです。
Gatewayは受信リクエストを検査し、ブロック高を判定して、その範囲を保持するアップストリームノードに転送します。ブロック高を認識できるリバースプロキシ(nginx、Caddy、カスタムルーティングを備えたHAProxy)であれば、同じ目的を果たすことができます。

1. gatewayリポジトリをクローンします

2. gatewayをビルドします

3. 設定ファイルを作成します

4. Gatewayを起動します


アップグレードまたは停止後のアーカイブノードの復旧

アーカイブセグメントノードは静的であるため、コンセンサスに参加せず、p2p経由の同期も行いません。ただし、協調アップグレードや予定外のチェーン停止の影響を受ける可能性はあります。特にプルーニングされた先端(tip)ノードと、直近のブロック高をカバーするセグメントノードが影響を受けます。

プルーニングされた先端ノード

プルーニングされた先端ノードは、アーカイブノード群の中で唯一、ライブチェーンとアクティブに同期するノードです。協調アップグレードや予定外の停止時には、他のフルノードと同様に扱ってください:
  1. ノードを停止する
  2. 新しいバイナリに入れ替える
  3. 確認する:injectived version
  4. ノードを起動する
先端ノードは priv_validator_state.json を持たない(バリデーターではない)ため、二重署名のリスクはありません。先端ノードのstateが破損している場合(AppHashの不一致)は、プルーニングされたスナップショットから復旧してください。バリデーターのトラブルシューティングとスナップショットリソースを参照してください。

直近のブロック高をカバーするセグメントノード

アップグレードによって過去のブロックの処理方法や保存方法が変更される場合(クエリ結果に影響するstateマイグレーションなど)、アップグレード境界付近のブロック高をカバーするセグメントノードが不整合なデータを返す可能性があります。その場合:
  1. 影響を受けたセグメントノードを停止する
  2. S3から更新されたセグメントをダウンロードする(アップグレード後にインフラチームが修正済みセグメントを公開する場合があります):
  3. そのセグメントに指定されたバージョンにバイナリを更新する
  4. ノードを再起動する

古いセグメントノード

過去のブロック範囲をカバーするセグメントノード(00738088)は、通常、チェーンアップグレードの影響を受けません。これらは、そのデータを生成したバージョンのバイナリで既存データを提供します。アップグレードが過去のクエリの処理方法を明示的に変更しない限り、対応は不要です。

ゲートウェイ

ゲートウェイ自体はステートレスであり、チェーンアップグレード時にアップグレードする必要はありません。ただし、セグメントノードを追加または置き換えた場合は、新しいアップストリームエンドポイントを反映するようにゲートウェイの設定を更新し、再起動してください。
復旧作業の後は必ず、各セグメント範囲からブロックをクエリしてレスポンスを確認し、ゲートウェイが正しくルーティングしていることを検証してください。設定を誤ったゲートウェイは、特定のブロック高範囲に対してエラーや古いデータを気づかれないまま返す可能性があります。
最終更新日 2026年9月1日