Субпотоки
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 в реестре Субпотоков.