Skip to content

simulators/ethereum/pyspec: update for EIP-4844 tests#790

Merged
fjl merged 14 commits intoethereum:masterfrom
spencer-tb:simulators/eth/pyspec/eip4844
Jul 18, 2023
Merged

simulators/ethereum/pyspec: update for EIP-4844 tests#790
fjl merged 14 commits intoethereum:masterfrom
spencer-tb:simulators/eth/pyspec/eip4844

Conversation

@spencer-tb
Copy link
Collaborator

@spencer-tb spencer-tb commented Jun 8, 2023

simulators/ethereum/pyspec

➕ Adds changes required to run EIP-4844 execution-spec-tests:
https://github.com/ethereum/execution-spec-tests/tree/main/tests/eips/eip4844

➕ Now using fixtures-cancun.tar.gz from:
https://github.com/ethereum/execution-spec-tests/releases/tag/v1.0.0

Remaining tasks

  • All clients passing on -> https://hivecancun.ethdevops.io/
  • Replace RLP decoder with custom function that extracts fields from fixtures for EngineAPI payloads
  • Remove go.mod replace in both pyspec and engine simulators (requires Cancun changes to be merged

if [ "$HIVE_CANCUN_TIMESTAMP" != "" ]; then
FLAGS="$FLAGS --kzg-trusted-setup=/kzg.txt"
fi

Copy link
Collaborator

Choose a reason for hiding this comment

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

I wonder, doesn't besu ship with the default trusted setup like all other clients?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Not yet at least - we get thrown this error without including it as a flag:

WARN  | Besu | Failed to start Besu...
[6efa3097] picocli.CommandLine$ParameterException:
 --kzg-trusted-setup is mandatory when providing a custom genesis that support data blobs

I'm assuming it will have the default setup for mainnet so I will dig deeper and ask around!

Copy link
Contributor

Choose a reason for hiding this comment

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

I believe it ships:

# Copy KZG-trusted-setup
COPY --from=builder /besu/config/src/main/resources/kzg-trusted-setups/mainnet.txt /kzg-trusted-setup.txt

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Nice! I'll add this in :D

Copy link
Contributor

Choose a reason for hiding this comment

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

It ships, but if you specify your own genesis you need to also provide a corresponding setup if that genesis supports datagas.

rsc.io/tmplfunc v0.0.3 // indirect
)

replace github.com/ethereum/go-ethereum v1.12.0 => github.com/marioevz/go-ethereum v1.10.14-0.20230607235252-075f62d72ccc
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why is this replacement needed?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Currently its the only branch (I believe) with the dataGasUsed and excessDataGas fields added the *core.Genesis struct which we are using in types.go

This is the required type here: https://github.com/ethereum/hive/blob/master/simulators/ethereum/engine/client/hive_rpc/hive_rpc.go#L40
that we use to start a clients with a genesis file alongside the EngineAPI

Maybe there is a better way to do this, that allows us to use a custom genesis struct?

Nonetheless once 4844 is merged no replacement will be required!

Copy link
Collaborator

@fjl fjl Jun 10, 2023

Choose a reason for hiding this comment

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

I see. Please please, if you need certain fields added in go-ethereum, send a PR to go-ethereum! We can get it merged quickly.

When the work on withdrawals was done, I spent quite a bit of time removing module replacements in hive. The replace feature is intended to be used during development but I would really like to avoid committing a replacement to hive unless absolutely necessary.

@fjl
Copy link
Collaborator

fjl commented Jun 9, 2023

I'm not a big fan of putting the yaml config files in clients/. Maybe we can create a new directory like inv/4844/ where these will be stored.

I understand that client configs with a custom branch are needed while the clients don't have the feature in their default branch yet. And we definitely need a way to share these configs. So it's OK to put them in the hive repo. But as soon as the feature goes to default, we don't need them anymore. That's why I'm proposing they should be kept in a 4844 specific directory.

@spencer-tb spencer-tb force-pushed the simulators/eth/pyspec/eip4844 branch from 8b6f50b to e33d2cb Compare June 30, 2023 17:01
@fjl fjl marked this pull request as ready for review July 18, 2023 09:22
@fjl fjl changed the title simulators/ethereum/pyspec: Update simulator for EIP-4844 tests simulators/ethereum/pyspec: update for EIP-4844 tests Jul 18, 2023
@fjl fjl merged commit 09b09f1 into ethereum:master Jul 18, 2023
racytech pushed a commit to racytech/hive that referenced this pull request Apr 4, 2025
This PeerDAS metrics dashboard is implemented according to the current
PeerDAS metrics specs. It can be used by all the CL clients which
implemented the set of [these
metrics](ethereum/beacon-metrics#13). The
metrics are still under discussion, so, the dashboard is currently in
development.
Filters: by client, job, supernode.
racytech pushed a commit to racytech/hive that referenced this pull request Apr 4, 2025
🤖 I have created a release *beep* *boop*
---


##
[4.4.0](ethpandaops/ethereum-package@4.3.0...4.4.0)
(2024-11-01)


### Features

* add checkpoint sync capabilities to nimbus
([ethereum#804](ethpandaops/ethereum-package#804))
([853417e](ethpandaops/ethereum-package@853417e))
* add commit-boost support
([ethereum#779](ethpandaops/ethereum-package#779))
([ebbbe83](ethpandaops/ethereum-package@ebbbe83))
* add docker authentication
([ethereum#816](ethpandaops/ethereum-package#816))
([807f6aa](ethpandaops/ethereum-package@807f6aa))
* add peerdas metrics dashboard
([ethereum#790](ethpandaops/ethereum-package#790))
([12b787d](ethpandaops/ethereum-package@12b787d))
* add rbuilder remove old geth builder - flashbots
([ethereum#786](ethpandaops/ethereum-package#786))
([de95c61](ethpandaops/ethereum-package@de95c61))
* add resource configuration for prometheus and grafana
([ethereum#773](ethpandaops/ethereum-package#773))
([d296c26](ethpandaops/ethereum-package@d296c26))
* add supernode label to every container
([ethereum#788](ethpandaops/ethereum-package#788))
([43edfd5](ethpandaops/ethereum-package@43edfd5))
* add support for fulu/osaka fusaka
([ethereum#798](ethpandaops/ethereum-package#798))
([0a9e445](ethpandaops/ethereum-package@0a9e445))
* add support for remote signers - `use_remote_signer`
([ethereum#791](ethpandaops/ethereum-package#791))
([9f1b6e9](ethpandaops/ethereum-package@9f1b6e9))
* enable one parameter supernode, refactor el,cl,vc
([ethereum#778](ethpandaops/ethereum-package#778))
([8513c06](ethpandaops/ethereum-package@8513c06))


### Bug Fixes

* add database config to assertoor
([ethereum#783](ethpandaops/ethereum-package#783))
([56532cf](ethpandaops/ethereum-package@56532cf))
* add nimbus-eth1 net-key
([ethereum#811](ethpandaops/ethereum-package#811))
([c91bbbb](ethpandaops/ethereum-package@c91bbbb))
* delete unnecessary port assignment for prysm
([ethereum#810](ethpandaops/ethereum-package#810))
([47204c3](ethpandaops/ethereum-package@47204c3))
* docker login to separate action yaml
([ethereum#819](ethpandaops/ethereum-package#819))
([2494022](ethpandaops/ethereum-package@2494022))
* get volume size recommendations when in shadowfork mode
([ethereum#820](ethpandaops/ethereum-package#820))
([b1f27c6](ethpandaops/ethereum-package@b1f27c6))
* mixed up labels
([ethereum#799](ethpandaops/ethereum-package#799))
([e2c1528](ethpandaops/ethereum-package@e2c1528))
* only set supernode if its true
([ethereum#796](ethpandaops/ethereum-package#796))
([2110a60](ethpandaops/ethereum-package@2110a60))
* prefund container suffixes for k8s
([ethereum#818](ethpandaops/ethereum-package#818))
([968cfbd](ethpandaops/ethereum-package@968cfbd))
* remove deprecated http-allow-sync-stalled from LH
([ethereum#805](ethpandaops/ethereum-package#805))
([1825dbf](ethpandaops/ethereum-package@1825dbf))
* Remove not necessary "/api" (and bump verifier version)
([ethereum#792](ethpandaops/ethereum-package#792))
([befde97](ethpandaops/ethereum-package@befde97))
* set default for label-maker
([ethereum#797](ethpandaops/ethereum-package#797))
([5b2d234](ethpandaops/ethereum-package@5b2d234))
* swap http/grpc server ports and replace flags
([ethereum#802](ethpandaops/ethereum-package#802))
([8c6df26](ethpandaops/ethereum-package@8c6df26))
* update built in assertoor tests
([ethereum#782](ethpandaops/ethereum-package#782))
([d24fb2a](ethpandaops/ethereum-package@d24fb2a))
* update nethermind config option
([ethereum#824](ethpandaops/ethereum-package#824))
([08ce034](ethpandaops/ethereum-package@08ce034))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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.

4 participants