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

    1 Source


    2 Stores


    3 Maps

    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