子流
2 分钟
子流介绍

要立即开始编码,请转到开发人员快速入门。
概述
子流是一种强大的并行区块链索引技术,旨在提高 The Graph 网络内的性能和可扩展性。
子流好处
- 加速索引:提升子图索引时间和平行引擎,以更快的数据检索和处理。
- Multi-Chain Support:将索引能力扩展到基于EVM的链之外,支持Solana、 Injective、 Starknet和Vara等生态系统。
- 增强数据模型:访问全面数据,包括EVM上的
trace
级数据或Solana 上的帐户变动,同时有效管理叉/断开连接。 - Multi-Sink支持: 用于Subgraph、Postgres数据库、Clickhouse和Mongo数据库。
子流的工作原理分为四个步骤
- 您编写了一个Rust程序,定义了要应用于区块链数据的转换操作。例如,以下的Rust函数从以太坊区块中提取相关信息(区块号、哈希和父哈希)。
1fn get_my_block(blk: Block) -> Result<MyBlock, substreams::errors::Error> {2 let header = blk.header.as_ref().unwrap();34 Ok(MyBlock {5 number: blk.number,6 hash: Hex::encode(&blk.hash),7 parent_hash: Hex::encode(&header.parent_hash),8 })9}
-
您只需运行一个CLI命令,就可以将您的Rust程序打包成一个WASM模块。
-
WASM容器被发送到Substreams端点执行。 Substreams提供商将区块链数据传送给WASM容器,然后执行转换操作。
-
您选择了一个 sink,一个您想要发送变异数据的地方(如SQL 数据库或子图形)。
其他资源
所有Substreams开发人员文档均由StreamingFast核心开发团队在Subreams注册表上维护。