EIP-7840: Add blob schedule to execution client configuration files

Adds a new object to the EL genesis chain config:

of the shape:

"blobSchedule": {
  "prague": { "target": 6, "max": 9 },
  "osaka":   { "target": 12, "max": 16},
  ...
}
3 Likes

Is the genesis chain config specified anywhere? I don’t think it is standardized anywhere but most clients need to import the same config, so I guess this naturally evolves to some kind of standard config file?

Maybe it would be a good idea to specify these genesis / chain spec files somewhere (if this is not yet done) then additions to this config file can then be added to this specification.

it isn’t defined officially anywhere AFAIK.

I think we should spec it out. What would be a good location for this spec?

It’s tough because EIPs aren’t the best suited for specs that are change regularly. We’ve gotten around this for the RPC by creating execution-specs repo. I think something like genesis-specs might be the right way. I would probably check with the ethpandaops team as they are kinda the premiere genesis creator / consumer.

1 Like

Cool, I was thinking along the same lines, something like execution-apis or execution-specs comes close but does not feel like the right place. I agree that a new repo like genesis-specs would be the “right” place for this. I’ll contact ethpandaops sometime in the near future about this.

1 Like

Is there any specific reason to define this in the chain configuration instead of hardcoding it?

The EIP states:

Ensure there is a way to dynamically adjust the target and max blob counts per block.

However, in practice, these constants are only updated during hard forks. Coordinating a constant change without a hard fork via the configuration file is extremely challenging.

Probably we want to define different parameters for different networks?

In particular, we want the ability to test different blob counts on test networks. If we hard code it, it’s quite difficult to try different configurations across clients.

2 Likes