Skip to content

Instantly share code, notes, and snippets.

@o-az
Created December 16, 2025 23:15
Show Gist options
  • Select an option

  • Save o-az/a72e9ccd1dbbe6c0ca56253aa705f3b1 to your computer and use it in GitHub Desktop.

Select an option

Save o-az/a72e9ccd1dbbe6c0ca56253aa705f3b1 to your computer and use it in GitHub Desktop.
flowchart LR
    %% Data Sources
    Node["EVM Node (Local or RPC)"]

    %% AMP Core
    subgraph AMP["AMP Indexer"]
        Extract["Block and Log Extraction (Parallel)"]
        Raw["Raw EVM Datasets Parquet in Object Storage"]
        Compact["Compaction Optimized Parquet"]
    end

    %% Transformations
    subgraph Transform["Derived Data Layer"]
        Views["Materialized Views SQL Transforms"]
        UDFs["Custom Logic TypeScript UDFs"]
    end

    %% Serving Layer
    subgraph Serving["Application and Analytics"]
        DB["App Databases Postgres or D1"]
        API["APIs and Indexers"]
        BI["Analytics SQL Playground"]
        Explorer["Block Explorer Live UI"]
    end

    %% Cross-chain
    Cross["Cross-Chain Joins Multi-Dataset SQL"]

    %% Flow
    Node --> Extract
    Extract --> Raw
    Raw --> Compact
    Compact --> Views
    UDFs --> Views
    Views --> DB
    Views --> BI
    DB --> API
    API --> Explorer
    Views --> Cross
Loading
  1. Raw datasets
  • Canonical EVM data as Parquet
  1. Derived datasets
  • Materialized views built via SQL transforms
  1. Continuously updated physical tables
  • Application databases
  1. Stream processed data into Postgres, D1, etc.
  • Cross-chain analytics • Join datasets across multiple chains at the SQL level
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment