子流

子流Logo

Substreams 是一项为 The Graph Network 开发的强大的区块链索引技术。Substreams 允许开发者编写 Rust 模块,与社区一同组成数据流,并通过并行化以流式优先的方式提供极高性能的索引功能。

使用Substreams,您可以以超快的速度从不同的区块链(如以太坊、BNB、Solana等)提取数据!然后,您可以将数据发送到多个位置(如Postgres数据库、Mongo数据库或Subgraph)。

子流的工作原理分为四个步骤

链到本节
  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. 您只需运行一个命令行命令,就可以将您的Rust程序打包成一个WASM模块。

  2. WASM容器被发送到Substreams端点执行。 Substreams提供商将区块链数据传送给WASM容器,然后执行转换操作。

  3. 您选择一个sink,即您希望将转换后的数据发送到的位置(例如,一个Postgres数据库或一个Subgraph)。

子流文档

链到本节

Substreams的官方文档目前由StreamingFast团队在StreamingFast的网站上维护。

开始

链到本节
  • 要开发和部署Substreams,您必须安装Substreams CLI
  • 接下来,您可以按照快速入门教程. 中的步骤运行您的第一个子流。

知识拓展

链到本节
编辑

上页
GraphQL验证迁移指南
下页
运营Graph节点
编辑