-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
enhancementNew feature or requestNew feature or request
Description
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
- Requires feat(blocks/tx): Display EIP-4844 blob metadata in blocks and transactions #300 (EIP-4844 blob metadata) to be completed first, as this builds on the blob versioned hashes and transaction type detection implemented there.
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request