Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: base/blob-archiver
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: base/blob-archiver
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: feature/beacon-blobs-upgrade
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 10 files changed
  • 1 contributor

Commits on Oct 15, 2025

  1. chore: update go-eth2-client

    niran committed Oct 15, 2025
    Configuration menu
    Copy the full SHA
    7143c1d View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2025

  1. feat: migrate to beacon blobs endpoint with valid KZG test data

    Implements support for the new /eth/v1/beacon/blobs/{block_id} endpoint
    with automatic fallback to the legacy blob_sidecars endpoint.
    
    Key changes:
    - Archiver: Prefer blobs endpoint, compute KZG commitments/proofs from
      blob data, fall back to blob_sidecars on failure
    - API: Add /eth/v1/beacon/blobs/{id} endpoint with versioned_hashes
      filtering support using kzg4844.CalcBlobHashV1
    - Test data: Generate valid BLS12-381 field elements by reducing random
      data modulo the field modulus to ensure KZG operations succeed
    - Test helpers: Consolidate blob generation into NewBlobSidecars with
      proper header support for consistent test comparisons
    
    All tests now use the blobs endpoint (except one that explicitly tests
    the fallback behavior). The archiver stores complete blob sidecars with
    derived KZG commitments and proofs, maintaining backward compatibility
    with existing storage format.
    
    Technical notes:
    - Each 32-byte chunk in blob data must be < BLS12-381 field modulus
    - KZG commitments/proofs are computed using gokzg4844 library
    - Versioned hashes use ethereum/go-ethereum's kzg4844.CalcBlobHashV1
    - Test data includes valid headers to match reconstructed sidecars
    niran committed Oct 16, 2025
    Configuration menu
    Copy the full SHA
    a65b475 View commit details
    Browse the repository at this point in the history
  2. refactor: prefer blob_sidecars endpoint to avoid recomputing KZG proofs

    Switch to prioritizing /eth/v1/beacon/blob_sidecars over /eth/v1/beacon/blobs
    since the sidecars endpoint provides KZG commitments and proofs directly,
    avoiding unnecessary computation.
    niran committed Oct 16, 2025
    Configuration menu
    Copy the full SHA
    d41cfb5 View commit details
    Browse the repository at this point in the history
  3. chore: update go.mod to mark go-kzg-4844 as direct dependency

    The go-kzg-4844 package is now directly used in the codebase after
    migrating to the beacon blobs endpoint, so it should be listed as a
    direct dependency rather than an indirect one.
    niran committed Oct 16, 2025
    Configuration menu
    Copy the full SHA
    271b3e3 View commit details
    Browse the repository at this point in the history
  4. fix: use canonical BLS modulus from go-kzg-4844

    Replaced custom field modulus constant with gokzg4844.BlsModulus, which
    is the canonical BLS12-381 scalar field modulus from our existing
    dependency. This fixes an incorrect modulus value and provides a single
    source of truth for the BLS_MODULUS constant as specified in EIP-4844.
    
    The go-kzg-4844 library already exports this value as BlsModulus, so
    there's no need to duplicate it.
    niran committed Oct 16, 2025
    Configuration menu
    Copy the full SHA
    4b12209 View commit details
    Browse the repository at this point in the history
Loading