Skip to content

Mock Mev Silent Participant Requirements #889

@0xTylerHolmes

Description

@0xTylerHolmes

Issue

Currently you must have a certain client combination as the first participant in order to run mock-mev experiment, this requirement is not stated and non-obvious from the logs.

Repro

The following config will fail on creating the relay:

participants:
- el_type: nethermind
  cl_type: prysm
  count: 4
- el_type: geth
  cl_type: lighthouse
  count: 4
mev_type: mock
additional_services:
  - dora
  - spamoor_blob
  - tx_spammer
mev_params:
  mock_mev_image: "ethpandaops/rustic-builder:main"

while this one will succeed:

participants:
- el_type: nethermind
  cl_type: prysm
  count: 4
- el_type: geth
  cl_type: lighthouse
  count: 4
mev_type: mock
additional_services:
  - dora
  - spamoor_blob
  - tx_spammer
mev_params:
  mock_mev_image: "ethpandaops/rustic-builder:main"

Error Message

Adding service with name 'mock-mev' and image 'ethpandaops/rustic-builder:main'
There was an error executing Starlark code 
An error occurred executing instruction (number 97) at github.com/ethpandaops/ethereum-package/src/mev/flashbots/mock_mev/mock_mev_launcher.star[24:36]:
  add_service(name="mock-mev", config=ServiceConfig(image="ethpandaops/rustic-builder:main", ports={"rest": PortSpec(number=8560, transport_protocol="TCP")}, files={"/jwt": "jwt_file"}, cmd=["--execution-endpoint=http://{{kurtosis:62b0c87c8fc14ac38a8363c19666d668:ip_address.runtime_value}}:8551", "--beacon-node=http://{{kurtosis:729b789b68cb4b50a62719e03dd17ee6:ip_address.runtime_value}}:3500", "--jwt-secret=/jwt/jwtsecret", "--port=8560", "--address=0.0.0.0", "--set-max-bid-value", "--log-level=info", "--builder-secret-key=607a11b45a7219cc61a3d9c5fd08c7eebd602a6a19a977f8d3771d5711a550f2"], max_cpu=1000, min_cpu=100, max_memory=1024, min_memory=128, node_selectors={}))
  Caused by: Unexpected error occurred starting service 'mock-mev'
  Caused by: An error occurred creating pod 'mock-mev' using image 'ethpandaops/rustic-builder:main'
  Caused by: An error occurred waiting for pod 'mock-mev' to become available
  Caused by: Pod 'mock-mev' failed before availability with the following state:
  >>>>>>>>>>>>>>>>>>>>>>>>>> Pod mock-mev <<<<<<<<<<<<<<<<<<<<<<<<<<
  Container Statuses: - user-service-container (docker.io/ethpandaops/rustic-builder:main): TERMINATED with exit code 1 - 
  
  -------------------- Container user-service-container Logs --------------------
  2025-02-06T16:29:32.902179471Z 2025-02-06T16:29:32.902144Z  INFO rustic_builder: Starting mock relay
  2025-02-06T16:29:32.911692393Z Error: "Failed to get config spec: HttpClient(, kind: decode, detail: data did not match any variant of untagged enum ConfigAndPreset at line 1 column 5697)"
  
  ------------------ End Container user-service-container Logs ---------------------
  >>>>>>>>>>>>>>>>>>>>>>>> End Pod mock-mev <<<<<<<<<<<<<<<<<<<<<<<<<<<

Possible Solutions

I suspect we are just fetching the first participant to use as the "builder" instead of scanning the participants to find an endpoint we support. Probably an issue in the name of the flags for different participants. Will investigate more when I have the cycles.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions