Skip to content

validator: take the default target gas limit from GAS_LIMIT_SCHEDULE #795

Open

Description

@MegaRedHand

The validator client's default target gas limit is a fixed 60000000 (DEFAULT_GAS_LIMIT, overridden by --gas-limit or per validator through the keymanager API). From gloas it is signed into every proposer preference, and produceBlockV4 builds this client's own payload toward the preference's target_gas_limit. A validator left on the default therefore pulls the gas limit toward 60M on every gloas proposal, whatever the network targets.

Two built-in networks schedule something else in their config.yaml's GAS_LIMIT_SCHEDULE:

  • Sepolia: 200000000 from epoch 353024 (bin/ethlambda/assets/sepolia/config.yaml).
  • Platåberget: 200000000 from epoch 1566 (bin/ethlambda/assets/plataberget/config.yaml).

Lighthouse takes its default from the network config's GAS_LIMIT_SCHEDULE before falling back to a built-in value. This client cannot: the beacon node parses the key into nothing (it is one of the keys the ignored-keys warning names), and /eth/v1/config/spec does not serve it.

What it takes

  • Beacon node: parse GAS_LIMIT_SCHEDULE into Config and serve it from /eth/v1/config/spec. Config is stored SSZ-encoded under Metadata["config"], so a new field there is a DB_VERSION bump unless it is kept out of the stored struct.
  • Validator client: when --gas-limit is not given, default to the scheduled limit in force at the proposal's epoch, read from /config/spec, and fall back to 60000000 for a node that does not serve the key.

Until this lands, docs/cli.md and the README tell operators on Sepolia and Platåberget to pass --gas-limit 200000000.

Raised in the review of #707.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions