Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add blobber to kurtosis #391

Closed
parithosh opened this issue Dec 6, 2023 · 6 comments · Fixed by #401
Closed

Add blobber to kurtosis #391

parithosh opened this issue Dec 6, 2023 · 6 comments · Fixed by #401
Labels
good first issue Good for newcomers

Comments

@parithosh
Copy link
Member

This tool: https://github.com/marioevz/blobber/
its a MITM between BN and VC, just for lh/prysm/lodestar for now.

@barnabasbusa
Copy link
Contributor

I can add it once we have some docs for blobber!

@barnabasbusa barnabasbusa added the good first issue Good for newcomers label Dec 6, 2023
@barnabasbusa
Copy link
Contributor

barnabasbusa commented Dec 7, 2023

@marioevz or @parithosh could you pls add the config example that we were discussing yesterday?

@parithosh
Copy link
Member Author

e.g:

participants:
  - el_client_type: geth
    el_client_image: ethpandaops/geth:transition-post-genesis-bdd68f5
    cl_client_type: lighthouse
    cl_client_image: ethpandaops/lighthouse:verkle-trees-capella-2ffb8a9
    count: 2
    # default: blobber_enabled: false
  - el_client_type: geth
    el_client_image: ethpandaops/geth:gballet-transition-post-genesis-532a370
    cl_client_type: lodestar
    cl_client_image: ethpandaops/lodestar:g11tech-verge-815364b
    blobber_enabled: true
additional_services:
  - el_forkmon
  - tx_spammer
  - dora
  - blobber
blobber_extra_params:
  - "--slot-action={"name": "blob_gossip_delay", "delay_milliseconds": 1500}"
  - "--slot-action-frequency=1"
snooper_enabled: true

Behaviour:

  • Blobber is default false
  • If enabled, default is passthrough
  • The blobber_params gets filled with --cl=node01-beacon-api, --cl=node02-beacon-api... until every beacon api is listed. By default the validator key folder is passed through to it (val key folder of the participant it is enabled on)
  • Blobber gets 1 p2p port per --cl flag, so if there are 5 nodes it needs 5 ports (each blobber). These ports are ideally ascending, currently if there are 5 nodes and 5 ports assigned, then one just has to set --beacon-port-start={{ blobber_p2p_port }} (and blobber will claim blobber_p2p_port, blobber_p2p_port+1, blobber_p2p_port+2 and so on until all 5 are used. Blobber does p2p gossip, so this port must be properly exposed (Similar to CL p2p) on both docker and k8s, otherwise it wont work

e.g configuration on ansible:

@barnabasbusa
Copy link
Contributor

If enabled, default will be blobber_params.

If blobber_params are --cl=node-01-beacon-api then it won't be just passthrough.
So maybe we want to have blobber_params to be [] by default, and only use blobber_extra_params?

@parithosh
Copy link
Member Author

If enabled, default will be blobber_params.

If blobber_params are --cl=node-01-beacon-api then it won't be just passthrough. So maybe we want to have blobber_params to be [] by default, and only use blobber_extra_params?

It's just gonna ignore the flag depending on the action, there's no active peering wihout a trigger :D

Mainly opting for the option because the user won't know the API endpoint of the CLs to configure it in the config file (cuz the API port is like random at runtime assigned by kurtosis)

@barnabasbusa barnabasbusa linked a pull request Dec 12, 2023 that will close this issue
@barnabasbusa
Copy link
Contributor

Example config will look something like this instead:

participants:
  - el_client_type: geth
    el_client_image: ethpandaops/geth:master
    cl_client_type: lighthouse
    cl_client_image: ethpandaops/lighthouse:sidecar-inclusion-proof-c6be31c
    blobber_enabled: true
    blobber_extra_params:
      - --slot-action-frequency=1
      - "--slot-action={\"name\": \"blob_gossip_delay\", \"delay_milliseconds\": 1500}"
    count: 1
  - el_client_type: geth
    el_client_image: ethpandaops/geth:master
    cl_client_type: lodestar
    cl_client_image: ethpandaops/lodestar:blobs-inclproof-d5a5a47
    blobber_enabled: true
    blobber_extra_params:
      - --slot-action-frequency=1
      - "--slot-action={\"name\": \"blob_gossip_delay\", \"delay_milliseconds\": 1500}"
    count: 1
network_params:
  deneb_fork_epoch: 1
additional_services:
  - dora
  - blob_spammer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants