Skip to content

feat(peerDAS): add max number of blob per transaction #8761

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

Conversation

Gabriel-Trintinalia
Copy link
Contributor

@Gabriel-Trintinalia Gabriel-Trintinalia commented Jun 7, 2025

PR description

Implements ethereum/EIPs#9623

Target for devnet-2

fixes: #8760

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
@Gabriel-Trintinalia Gabriel-Trintinalia changed the title feat: add max number of blob per transaction feat(peerDAS): add max number of blob per transaction Jun 7, 2025
@Gabriel-Trintinalia Gabriel-Trintinalia marked this pull request as draft June 7, 2025 10:15
Copilot

This comment was marked as outdated.

Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR introduces a per-transaction blob limit (max blobs per transaction) across scheduling, calculators, validation, JSON-RPC endpoints, and configuration parsing. It updates:

  • The blob schedule model and JSON config to accept a new maxPerTx field, defaulting to max.
  • Osaka/Cancun gas limit calculators and the transaction validator to enforce the new per-transaction blob gas cap.
  • Tests and JSON-RPC logic to validate blob count against the new limit.

Reviewed Changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
ethereum/core/src/main/java/.../OsakaTargetingGasLimitCalculator.java Added maxBlobsPerTransaction parameter and transactionBlobGasLimitCap.
ethereum/core/src/main/java/.../MainnetBlobsValidator.java Enforced per-transaction blob gas limit in validation.
ethereum/core/src/main/java/.../GasLimitCalculator.java Added default transactionBlobGasLimitCap() method.
ethereum/api/src/.../AbstractEngineNewPayload.java Added RPC-level blob count check against transactionBlobGasLimitCap.
config/src/main/java/.../BlobSchedule.java Switched to static factory, added maxPerTransaction, and key parsing.
config/src/test/resources/mainnet_with_blob_schedule.json Introduced maxPerTx fields in blob schedules.
config/src/main/java/.../BlobScheduleOptionsTest.java Expanded tests for parsing maxPerTransaction.
ethereum/core/.../OsakaTargetingGasLimitCalculatorTest.java & related tests Updated constructor calls and tests for new parameter.
Comments suppressed due to low confidence (1)

ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/OsakaTargetingGasLimitCalculator.java:59

  • The method getBlobGasPerBlob() does not exist on GasCalculator; use gasCalculator.blobGasCost(1) (or another appropriate call) to retrieve the per-blob gas cost, then multiply by maxBlobsPerTransaction.
this.transactionBlobGasLimitCap = gasCalculator.getBlobGasPerBlob() * maxBlobsPerTransaction;

@hyperledger hyperledger deleted a comment from Copilot AI Jun 7, 2025
@Gabriel-Trintinalia Gabriel-Trintinalia marked this pull request as ready for review June 9, 2025 10:08
"bpo5": {
"target": 51,
"max": 52,
"maxPerTx": 53,

This comment was marked as resolved.

Copy link
Contributor

@macfarla macfarla left a comment

Choose a reason for hiding this comment

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

suggestion for error message consistency

…r block

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
macfarla and others added 4 commits June 9, 2025 17:30
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
@Gabriel-Trintinalia Gabriel-Trintinalia self-assigned this Jun 13, 2025
@Gabriel-Trintinalia Gabriel-Trintinalia moved this to In Progress in Osaka Jun 13, 2025
macfarla added 2 commits June 13, 2025 12:53
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
@Gabriel-Trintinalia Gabriel-Trintinalia changed the title feat(peerDAS): add max number of blob per transaction [do-not-merge] feat(peerDAS): add max number of blob per transaction Jun 13, 2025
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
@macfarla
Copy link
Contributor

cherry-picked commit from #8820

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
@Gabriel-Trintinalia Gabriel-Trintinalia changed the title [do-not-merge] feat(peerDAS): add max number of blob per transaction feat(peerDAS): add max number of blob per transaction Jun 18, 2025
@Gabriel-Trintinalia Gabriel-Trintinalia merged commit c0af167 into hyperledger:main Jun 18, 2025
48 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in Osaka Jun 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

EIP-7594 - Add blob count per tx limit via blobSchedule
3 participants