Skip to content

feat(blocks/tx): Display raw blob data content via Beacon API #301

@AugustoL

Description

@AugustoL

Summary

Display the actual content of EIP-4844 blobs by integrating with the Beacon Chain API (consensus layer), allowing users to inspect the raw data submitted in blob transactions.

Motivation

The blob metadata (hashes, gas, count) shown via #300 tells users that blobs exist, but not what's inside them. Users — especially L2 researchers, rollup developers, and data analysts — want to inspect the actual blob content to understand what data rollups are posting to L1.

Dependencies

Proposed Solution

Beacon API Integration

Fetch blob data from the consensus layer using the standard Beacon API endpoint:

GET /eth/v1/beacon/blob_sidecars/{block_id}

This returns the blob content, KZG commitments, and KZG proofs for all blobs in a given block.

Configuration

  • Add a Beacon API endpoint field to the Settings page (RPC Endpoints section), per network
  • Default to empty (feature disabled if no Beacon endpoint configured)
  • Consider providing default public Beacon API endpoints for major networks

UI — Block Page

  • Show a "Blobs" tab or section listing all blobs in the block
  • Each blob entry shows:
    • Blob index
    • KZG commitment
    • KZG proof
    • Data preview (first N bytes, truncated)
    • Expandable full blob data (hex view)
    • Data size

UI — Transaction Page

  • For Type 3 transactions, add a "Blob Data" section
  • Filter the block's blob sidecars by the transaction's versioned hashes
  • Show the same blob detail view per blob

Blob Data Display Options

  • Hex view — Raw hex data
  • UTF-8 decode attempt — Show decoded text if the data contains valid UTF-8
  • Size info — Display blob size (each blob is ~128 KB / 131,072 bytes)

Important Limitations

  • Blob data is pruned after ~18 days (~4096 epochs) from beacon nodes
  • Show a clear message when blob data is no longer available: "Blob data has been pruned and is no longer available from the beacon node"
  • Consider a fallback to Blobscan API or similar archival services as an optional alternative source

Alternatives Considered

  • Blobscan API only: Simpler integration but adds external dependency and may not support all networks
  • Link to external explorer: Easy but doesn't keep users in the app
  • Both Beacon API + Blobscan fallback: Best coverage but more complex — could be a future enhancement

Acceptance Criteria

  • Beacon API endpoint configurable per network in Settings
  • Block page shows blob content for post-Dencun blocks (when Beacon endpoint is configured)
  • Transaction page shows blob data for Type 3 transactions
  • Blob data displayed in hex view with optional UTF-8 decode
  • Clear message when blob data is pruned / unavailable
  • Graceful handling when no Beacon endpoint is configured (feature hidden, not errored)
  • All user-facing strings use the i18n system (en and es translations)
  • Formatting and typecheck pass

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions