Skip to content

✨ feat: Dynamic genesis files#150

Open
raxhvl wants to merge 1 commit intoethpandaops:masterfrom
raxhvl:feat/dynamic-genesis
Open

✨ feat: Dynamic genesis files#150
raxhvl wants to merge 1 commit intoethpandaops:masterfrom
raxhvl:feat/dynamic-genesis

Conversation

@raxhvl
Copy link
Copy Markdown
Member

@raxhvl raxhvl commented Mar 16, 2026

Benchmarkoor depends on EEST to generate client specific genesis file via a build artifact. This PR allows dynamic generation of client specific genesis files from a "generic" format that eest generates along with fixtures.

This cuts a dependency and makes iteration quicker.

How it works

fill → pre_alloc + hive/{hash}.json → benchmarkoor → jq -f mapper.jq → client genesis → tests
  1. EEST fixtures now have a file called hive/{hash}.json
  2. Once per run, we download the required mappers from hive's repo for all clients
  3. We then generate client specific genesis from from the generic file
  4. Finally, tests are run as if we had pre-built genesis tarball

g.mapperDir, mapping.MapperDir, out.MapperFile,
)

cmd := exec.CommandContext(ctx, "jq", "-f", mapperPath, tmpGenesis.Name())
Copy link
Copy Markdown
Member Author

@raxhvl raxhvl Mar 16, 2026

Choose a reason for hiding this comment

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

Requires jq to be installed. We also do this via docker - this allows us to pin a jq version.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant