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

feat: integrate assertoor as an additional service #331

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

jhkimqd
Copy link
Collaborator

@jhkimqd jhkimqd commented Oct 24, 2024

Description

This PR adds assertoor as an additional service within Kurtosis CDK:

  • Although assertoor can be spun up as an independent binary, this approach integrates assertoor directly within Kurtosis CDK enclave and spins up an empty assertoor service.
    image
  • This approach allows the user to access the assertoor web-ui without need additional setup, and can manually register tests and run them whenever needed.
    image
  • This PR also includes a few additional L1 configs to control (ideally speed up) L1 validator deposit/withdrawl lifecycles.
  • To keep L1 prefunded addresses separate from L1 tests, a new prefunded address has also been added.

jhkimqd and others added 10 commits July 25, 2024 12:22
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
…sertoor

Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
@jhkimqd
Copy link
Collaborator Author

jhkimqd commented Oct 24, 2024

Using the below L1 arguments, the validator lifecycle test deposits successfully completed in less than an hour. The withdrawls will require additional 256 epoch delay with default configs (~130 minutes with 1s blocktime).

DEFAULT_L1_ARGS = {
    # The L1 network identifier.
    "l1_chain_id": 271828,
    # This mnemonic will:
    # a) be used to create keystores for all the types of validators that we have, and
    # b) be used to generate a CL genesis.ssz that has the children validator keys already
    # preregistered as validators
    "l1_preallocated_mnemonic": "code code code code code code code code code code code quality",
    # The L1 HTTP RPC endpoint.
    "l1_rpc_url": "http://el-1-geth-lighthouse:8545",
    # The L1 WS RPC endpoint.
    "l1_ws_url": "ws://el-1-geth-lighthouse:8546",
    # The additional services to spin up.
    # Default: []
    # Options:
    #   - assertoor
    #   - broadcaster
    #   - tx_spammer
    #   - blob_spammer
    #   - custom_flood
    #   - goomy_blob
    #   - el_forkmon
    #   - blockscout
    #   - beacon_metrics_gazer
    #   - dora
    #   - full_beaconchain_explorer
    #   - prometheus_grafana
    #   - blobscan
    #   - dugtrio
    #   - blutgang
    #   - forky
    #   - apache
    #  - tracoor
    # Check the ethereum-package for more details: https://github.com/ethpandaops/ethereum-package
    "l1_additional_services": ["assertoor"],
    # Preset for the network.
    # Default: "mainnet"
    # Options:
    #   - mainnet
    #   - minimal
    # "minimal" preset will spin up a network with minimal preset. This is useful for rapid testing and development.
    # 192 seconds to get to finalized epoch vs 1536 seconds with mainnet defaults
    # Please note that minimal preset requires alternative client images.
    "l1_preset": "mainnet",
    # Number of seconds per slot on the Beacon chain
    # Default: 12
    "l1_seconds_per_slot": 1,
    # The amount of ETH sent to the admin, sequence, aggregator, sequencer and other chosen addresses.
    "l1_funding_amount": "1000000ether",
    # Default: 2
    "l1_participants_count": 4,
    # Default: 2048
    "l1_eth1_follow_distance": 1,
    # Default: 256
    "l1_min_validator_withdrawability_delay": 1,
    # Default: 256
    "l1_shard_committee_period": 1,
    # Default: 12
    "l1_genesis_delay": 1,
}

img1

Copy link
Collaborator

@praetoriansentry praetoriansentry left a comment

Choose a reason for hiding this comment

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

Headed in the right direction!

ethereum.star Outdated Show resolved Hide resolved
input_parser.star Outdated Show resolved Hide resolved
input_parser.star Outdated Show resolved Hide resolved
input_parser.star Outdated Show resolved Hide resolved
src/additional_services/assertoor.star Outdated Show resolved Hide resolved
src/additional_services/assertoor.star Outdated Show resolved Hide resolved
Signed-off-by: Ji Hwan <jkim@polygon.technology>
Signed-off-by: Ji Hwan <jkim@polygon.technology>
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.

2 participants