サブストリーム

Substreams ロゴ

Substreamsは、The Graph Networkのために開発された強力なブロックチェーンインデクシング技術です。Substreams は、開発者がコミュニティと共にデータストリームを構成する Rust モジュールを記述することを可能にし、ストリーミングファースト方式による並列化によって極めて高性能なインデックス作成を実現します。

Substreamsを使えば、さまざまなブロックチェーン(Ethereum、BNB、Solana...)から超高速でデータを抽出できます!そして、データを複数の場所(Postgresデータベース、Mongoデータベース、Subgraph)に送ることができます。

サブストリームの4つのステップ

このセクションへのリンク
  1. **ブロックチェーンのデータに適用したい変換を定義したRustプログラムを記述します。**例えば、以下のRust関数はイーサリアムのブロックから関連情報(番号、ハッシュ、親ハッシュ)を抽出します。
fn get_my_block(blk: Block) -> Result<MyBlock, substreams::errors::Error> {
let header = blk.header.as_ref().unwrap();
Ok(MyBlock {
number: blk.number,
hash: Hex::encode(&blk.hash),
parent_hash: Hex::encode(&header.parent_hash),
})
}
  1. CLIコマンドを1つ実行するだけで、RustプログラムをWASMモジュールにまとめることができます。

  2. WASMコンテナは実行のためにSubstreamsエンドポイントに送られます。 SubstreamsプロバイダはWASMコンテナにブロックチェーンデータを送り、変換が適用されます。

  3. sink、つまり変換されたデータを送る場所を選択します(例えば、PostgresデータベースやSubgraphなど)。

Substreams ドキュメンテーション

このセクションへのリンク

サブストリームの公式ドキュメントは現在、StreamingFastチームによってStreamingFastウェブサイトで管理されています。

  • サブストリームを開発および展開するには、サブストリームCLIをインストールする必要があります。
  • その後、Quickstart Tutorialに従って最初のサブストリームを実行します。
ページを編集

GraphQL 検証移行ガイド
オペレーティンググラフノード
ページを編集