Skip to content

feat(execute,tests): Implement get-blobs execute spec #1644

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

marioevz
Copy link
Member

🗒️ Description

Adds get_blobs marked tests to execute that send blobs to a running client and verify the blob commitments using engine_getBlobsVX endpoint.

The tests can only be run using execute and cannot be used to generate fixtures using fill, contrary to the rest of the specs which normally can do both operations.

Test tests/osaka/eip7594_peerdas/test_get_blobs.py is added to make a sanity check of the blob endpoints for clients, but should be considered incomplete and a follow up PR should increase coverage by adding meaningful tests that contain proper kzg cell proofs.

Note: The PR contains commits separated by functionality and could be merged using "Rebase and Merge".

🔗 Related Issues

None

✅ Checklist

  • All: Set appropriate labels for the changes.
  • All: Considered squashing commits to improve commit history.
  • All: Added an entry to CHANGELOG.md.
  • All: Considered updating the online docs in the ./docs/ directory.

@marioevz marioevz added scope:tests Scope: Changes EL client test cases in `./tests` type:feat type: Feature scope:execute Scope: Changes to the execute command labels May 22, 2025
@marioevz marioevz force-pushed the execute-blob-txs-tests branch from d0a6be6 to fe9f546 Compare May 22, 2025 23:36
tx = tx.with_signature_and_sender()
sent_txs.append(tx)
expected_hash = tx.hash
received_hash = eth_rpc.send_raw_transaction(tx.rlp())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the transaction gets accepted without delay?

versioned_hashes[versioned_hash] = BlobAndProof(blob=blob.data, proof=blob.kzg_proof)
elif blob.kzg_cell_proofs is not None:
versioned_hashes[versioned_hash] = BlobAndProof(
blob=blob.data, proofs=blob.kzg_cell_proofs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there can be many proofs? easy to make typo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope:execute Scope: Changes to the execute command scope:tests Scope: Changes EL client test cases in `./tests` type:feat type: Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants