Substream Data Flow
    Use the symbols below to navigate around the canvas.

    1 Source

    sf.ethereum.type.v2.Block

    2 Stores

    store_account_holdings
    store_token

    3 Maps

    map_transfer
    map_approval
    graph_out
    Data Flow Explanation

    Substreams can best be thought of as a collection of modules that are composed together in the shape of a Directed Acyclic Graph (DAG). As each new block is processed, all substream modules spring into action, executing in a meticulously orchestrated sequence defined by the DAG.

    The four primary ingredients to a substream: map, store, source, and params.

    The map module is responsible for data extraction, filtering, transformation, and output.

    The store module focuses on data aggregation and maintaining short-lived state across blocks.

    The params type represents adaptable module inputs that give users the power to fine-tune substreams, tailoring both its functionality and output.

    The source type is the top-level data source for a substream and typically corresponds to a specific block.

    With Substreams, every module outputs data as a clearly defined protobuf, establishing a structured flow for blockchain data.

    Want to learn more? Visit StreamingFast's Docs