Субпотоки
2 минуты
Введение в Субпотоки

To start coding right away, check out the Substreams Quick Start.
Обзор
Субпотоки — это мощная технология параллельного индексирования блокчейна, разработанная для повышения производительности и масштабируемости в сети The Graph.
Преимущества Субпотоков
- Ускоренное индексирование: Повышает скорость индексирования субграфов с помощью параллельного движка для более быстрого извлечения и обработки данных.
- Мультичейн-поддержка: Расширяет возможности индексирования за пределы сетей на основе EVM, поддерживая такие экосистемы, как Solana, Injective, Starknet и Vara.
- Усовершенствованная модель данных: Обеспечивает доступ к детализированным данным, таким как данные уровня
trace
в EVM или изменения аккаунтов в Solana, с эффективным управлением форками и разрывами соединения. - Поддержка нескольких хранилищ: Для Субграфа, базы данных Postgres, Clickhouse и Mongo.
Как работают Субпотоки: 4 этапа
- Вы пишете программу на Rust, которая определяет преобразования, применяемые к данным блокчейна. Например, следующая функция на Rust извлекает соответствующую информацию из блока Ethereum (номер, хеш и хеш родительского блока).
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}
-
Вы упаковываете свою программу на Rust в WASM-модуль с помощью одной команды в CLI.
-
WASM-контейнер отправляется на конечную точку Субпотоков для выполнения. Провайдер Субпотоков передает в WASM-контейнер данные блокчейна, и к ним применяются преобразования.
-
Вы выбираете хранилище, куда хотите отправить преобразованные данные (например, SQL-базу данных или Субграф).
Дополнительные ресурсы
Вся документация для разработчиков Субпотоков поддерживается командой разработчиков ядра StreamingFast в реестре Субпотоков.