clients/go-ethereum: restore amsterdam entry in blobSchedule - #1452
Merged
spencer-tb merged 1 commit intoApr 27, 2026
Merged
Conversation
Restore the amsterdam blob schedule entry in the geth genesis mapper. Without this entry, geth's chain config validation (`params/config.go::Validate`) errors out at genesis init whenever `amsterdamTime` is set: Fatal: Failed to write genesis block: invalid chain configuration: missing entry for fork "amsterdam" in blobSchedule The entry was previously removed in ethereum#1387, but the validation in geth's bal-devnet-4 / glamsterdam branches (and on master) still rejects a genesis where `amsterdamTime` is set without a corresponding `blobSchedule.amsterdam`. Test devnets that activate Amsterdam (e.g. bal-devnet-4) currently fail to launch under hive against geth. Defaults follow the bpo2 cadence (target=14, max=21, baseFeeUpdateFraction=11684671) — overridable per-test via `HIVE_AMSTERDAM_BLOB_TARGET`, `HIVE_AMSTERDAM_BLOB_MAX`, and `HIVE_AMSTERDAM_BLOB_BASE_FEE_UPDATE_FRACTION`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
spencer-tb
approved these changes
Apr 27, 2026
spencer-tb
left a comment
Collaborator
There was a problem hiding this comment.
LGTM! Will merge for now!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Re-adds the
amsterdamentry to geth's genesisblobSchedule. The entry was removed in #1387, but geth's chain-config validator still rejects genesis files whereamsterdamTimeis set withoutblobSchedule.amsterdam, so any hive simulator targeting an Amsterdam-active devnet (bal-devnet-4, glamsterdam-devnet-N, …) fails immediately at:The validation lives in
params/config.go::checkBlobSchedule: if a fork timestamp is set, the corresponding blob-schedule entry must be non-nil.Why
Even though #1387 dropped the named-fork blob defaults from the mapper, geth on
bal-devnet-4(andglamsterdam-devnet-0) hasn't yet relaxed the validator to make Amsterdam optional, so hive currently can't bring up geth on those devnets at all. Restoring the entry here is the minimum-impact fix while a future geth PR (or a follow-up hive change) decides on the long-term shape of the blob schedule for named forks.Defaults follow the bpo2 cadence (
target=14,max=21,baseFeeUpdateFraction=11684671), and are overridable per-test via:HIVE_AMSTERDAM_BLOB_TARGETHIVE_AMSTERDAM_BLOB_MAXHIVE_AMSTERDAM_BLOB_BASE_FEE_UPDATE_FRACTIONTest plan
hive --client go-ethereumagainst any Amsterdam-active simulator (e.g.eels/consume-enginewith bal-devnet-4 fixtures) reaches the running state instead of dying atgeth init.HIVE_AMSTERDAM_BLOB_TARGET/_MAX/_BASE_FEE_UPDATE_FRACTIONand confirm overrides land in the generated genesis.🤖 Generated with Claude Code