メインコンテンツまでスキップ

インデクサーを学ぶ

Beta

インデクサーAPI、トランザクションストリームサービス、カスタムプロセッサーは現在ベータ版です。発生した問題は、aptos-indexer-processorsリポジトリにissueを作成して報告してください。

クイックスタート

この役割別ガイドを参照すると関連ドキュメントを素早く見つけられます。

構造の概要

Aptosブロックチェーン、さらに言えばどのブロックチェーン上に構築された典型的なアプリケーションでも、生のブロックチェーンデータをアプリケーション固有の方法で整形し、保存する必要があります。これは、何百万ものユーザーからエンドユーザーアプリでブロックチェーンデータを使用する際、低レイテンシーと豊富なエクスペリエンスをサポートするために不可欠です。AptosノードAPIは、低レベルの安定した汎用APIを提供しますがデータ整形をサポートするように設計されていないため、豊富なエンドユーザーエクスペリエンスを直接サポートする事は出来ません。

Aptosインデクサーはこの要望への答えであり、リアルタイム アプリの使用に不可欠なデータ整形を可能にします。Aptosのインデックス作成の仕組みについては以下の概要図を御覧下さい。

Signed Transaction FlowSigned Transaction Flow

大まかに言うと、Aptosブロックチェーンでのインデックス作成は以下の様に機能します。

  1. dappのユーザー、例えばNFTマーケットプレイス上では、dappが提供する多彩なUIを介してAptosブロックチェーンと対話します。これらのやりとりは舞台裏で、スマートコントラクトを介してトランザクションデータとイベントデータを生成します。この生データは、Aptosフルノードなどの分散台帳データベースに保存されます。
  2. この生の台帳データは、アプリケーション固有のデータモデルを使用して読み取り、インデックス付けされます。この場合はNFTマーケットプレイス固有のデータモデル(上図「ビジネスロジック」)を使用。このNFTマーケットプレイス固有のインデックスは別々のデータベース(上図「インデックス付きデータベース」)に保存され、API経由で公開されます。
  3. dappは、このインデックス付きデータベースにNFT固有のグラフQLクエリを送信し、豊富なデータを受信して​​ユーザーに提供します。

ステップ2はAptosインデクサーによって促進されます。上図はシステムが高レベルでどのように動作するかを簡略化した物です。実際にはシステムは多くのコンポーネントで構成されています。興味がある場合は以下の詳細な概要をご覧下さい。

インデクサーAPI

Aptosはインデックス付きデータにアクセスする以下の方法をサポートしています。

  1. ラボがホストするインデクサーAPI:このAPIはレート制限があり、ウォレットなどの軽量アプリケーションのみを対象としています。このオプションは高帯域幅アプリケーションには推奨されていません。
  2. セルフホスト型インデクサーAPI:ラボがホストするインデクサースタックであなたのデプロイメントを実行します。
  3. カスタムプロセッサ: カスタムプロセッサを作成してデプロイし、必要な固有の方法でデータをインデックスし公開します。

トランザクションストリームサービス

インデクサーAPIとカスタムプロセッサはトランザクションストリームサービスに依存します。つまりこのサービスはプロセッサが消費するトランザクションのGRPCストリームを提供します。このサービスの詳細についてはこちらを御覧下さい。Aptosラボはこのサービスでホストされたインスタンスを提供していますが独自のインスタンスを実行することもできます。

詳細な概要

この図はAptosインデクサー技術スタックがどの様に機能するのか詳しく解説しています。

従来のインデクサー

従来のインデクサーに関する情報はこちらを御覧下さい。