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

fix: Fix shadowforks #660

Merged
merged 39 commits into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
6966c21
fix: ignore bootnodes if in shadowfork
barnabasbusa Jun 4, 2024
fad15b8
Merge branch 'main' into bbusa/fix-sf
barnabasbusa Jun 4, 2024
3944a41
fix or to and
barnabasbusa Jun 6, 2024
6c3e995
Merge branch 'bbusa/fix-sf' of github.com:kurtosis-tech/ethereum-pack…
barnabasbusa Jun 6, 2024
50f5ffb
fix or to and
barnabasbusa Jun 6, 2024
339fb9e
fix lint
barnabasbusa Jun 6, 2024
9047e88
Merge branch 'main' into bbusa/fix-sf
barnabasbusa Jun 6, 2024
0313c71
Merge branch 'main' into bbusa/fix-sf
barnabasbusa Jun 11, 2024
22074c2
Merge branch 'main' into bbusa/fix-sf
barnabasbusa Jun 12, 2024
f53ff11
Merge branch 'main' into bbusa/fix-sf
barnabasbusa Jun 13, 2024
273e376
fixing if conditions
parithosh Jun 18, 2024
bb8d537
fix typo
parithosh Jun 18, 2024
f14acf4
fix sf path
parithosh Jun 18, 2024
2282a02
add bonsai disable for besu
parithosh Jun 18, 2024
0d8d20f
bump image
parithosh Jun 20, 2024
20df2a4
Merge branch 'main' into bbusa/fix-sf
barnabasbusa Jun 20, 2024
13d18ea
fix lint
barnabasbusa Jun 20, 2024
46e3b82
bump egg version
barnabasbusa Jun 21, 2024
60bdcbb
yeet minimal blobscan
barnabasbusa Jun 21, 2024
7ac12d1
Update src/el/besu/besu_launcher.star
barnabasbusa Jun 21, 2024
2cf4644
Update src/el/besu/besu_launcher.star
parithosh Jun 21, 2024
04b9e9d
bump egg
parithosh Jun 21, 2024
3d92005
add chainid override
barnabasbusa Jun 24, 2024
1ccf5ae
add comment about potential cbt
barnabasbusa Jun 24, 2024
350e1f2
Merge branch 'main' into bbusa/fix-sf
barnabasbusa Jun 24, 2024
0a59541
bump egg version
parithosh Jun 25, 2024
6f18856
fix prysm path
barnabasbusa Jun 25, 2024
59d2c6a
Merge branch 'main' into bbusa/fix-sf
barnabasbusa Jun 25, 2024
efa7673
fix total validator count issue
barnabasbusa Jun 25, 2024
1429840
login to dockerhub to not hit limits
barnabasbusa Jun 25, 2024
555bdcd
depend on login
barnabasbusa Jun 25, 2024
1160a41
remove redundant login
barnabasbusa Jun 25, 2024
60a17f4
steps are sequential
barnabasbusa Jun 25, 2024
e041b6d
debug
barnabasbusa Jun 25, 2024
2013c3b
removing cancun override
parithosh Jun 25, 2024
3d78924
Merge remote-tracking branch 'refs/remotes/origin/bbusa/fix-sf' into …
parithosh Jun 25, 2024
3d54dd2
debug
barnabasbusa Jun 25, 2024
3681a7a
debug
barnabasbusa Jun 25, 2024
c6db88a
debug
barnabasbusa Jun 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/tests/sepolia-mix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ participants:
- el_type: nethermind
cl_type: prysm
- el_type: erigon
el_image: ethpandaops/erigon:devel-d754b29 # this is a temp fix, till upstream is fixed
cl_type: lighthouse
- el_type: besu
cl_type: lighthouse
Expand Down
14 changes: 12 additions & 2 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,21 @@ jobs:
# List all yaml files in the .github/tests directory, except for the k8s.yaml file
run: echo "matrix=$(ls ./.github/tests/*.yaml | grep -vE 'k8s.yaml$' | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT
run_with_args:
needs: list-yamls
needs:
- list-yamls
strategy:
matrix:
file_name: ${{ fromJson(needs.list-yamls.outputs.matrix) }}
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup Kurtosis
run: |
echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
Expand All @@ -52,6 +57,11 @@ jobs:
assertoor-mix-assert:
runs-on: ubuntu-latest
steps:
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Checkout Repository
uses: actions/checkout@v4
- name: Extract branch name
Expand Down
18 changes: 15 additions & 3 deletions .github/workflows/per-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@ jobs:
run_starlark:
runs-on: self-hosted-ghr-size-l-x64
steps:
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup Kurtosis
run: |
echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
Expand All @@ -39,9 +43,13 @@ jobs:
]
runs-on: self-hosted-ghr-size-l-x64
steps:
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup Kurtosis
run: |
echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
Expand All @@ -57,7 +65,6 @@ jobs:
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup Kurtosis
run: |
echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
Expand All @@ -72,6 +79,11 @@ jobs:
runs-on: self-hosted-ghr-size-l-x64
timeout-minutes: 30
steps:
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Checkout Repository
uses: actions/checkout@v4
- name: Kurtosis Assertoor GitHub Action
Expand Down
12 changes: 6 additions & 6 deletions src/el/besu/besu_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -229,12 +229,9 @@ def get_config(
"--metrics-host=0.0.0.0",
"--metrics-port={0}".format(METRICS_PORT_NUM),
"--min-gas-price=1000000000",
"--bonsai-limit-trie-logs-enabled=false",
"--bonsai-limit-trie-logs-enabled=false" if "verkle" not in network else "",
]
if (
network not in constants.PUBLIC_NETWORKS
or constants.NETWORK_NAME.shadowfork in network
):
if network not in constants.PUBLIC_NETWORKS:
cmd.append(
"--genesis-file="
+ constants.GENESIS_CONFIG_MOUNT_PATH_ON_CONTAINER
Expand All @@ -254,7 +251,10 @@ def get_config(
]
)
)
elif network not in constants.PUBLIC_NETWORKS:
elif (
network not in constants.PUBLIC_NETWORKS
and constants.NETWORK_NAME.shadowfork not in network
):
cmd.append(
"--bootnodes="
+ shared_utils.get_devnet_enodes(
Expand Down
10 changes: 4 additions & 6 deletions src/el/erigon/erigon_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -209,11 +209,6 @@ def get_config(

cmd = [
"erigon",
"{0}".format(
"--override.cancun=" + str(cancun_time)
if constants.NETWORK_NAME.shadowfork in network
else ""
),
"--networkid={0}".format(networkid),
"--log.console.verbosity=" + verbosity_level,
"--datadir=" + EXECUTION_DATA_DIRPATH_ON_CLIENT_CONTAINER,
Expand Down Expand Up @@ -259,7 +254,10 @@ def get_config(
]
)
)
elif network not in constants.PUBLIC_NETWORKS:
elif (
network not in constants.PUBLIC_NETWORKS
and constants.NETWORK_NAME.shadowfork not in network
):
cmd.append(
"--bootnodes="
+ shared_utils.get_devnet_enodes(
Expand Down
5 changes: 4 additions & 1 deletion src/el/ethereumjs/ethereumjs_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,10 @@ def get_config(
]
)
)
elif network not in constants.PUBLIC_NETWORKS:
elif (
network not in constants.PUBLIC_NETWORKS
and constants.NETWORK_NAME.shadowfork not in network
):
cmd.append(
"--bootnodes="
+ shared_utils.get_devnet_enodes(
Expand Down
10 changes: 4 additions & 6 deletions src/el/geth/geth_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -272,11 +272,6 @@ def get_config(
"{0}".format(
"--{}".format(network) if network in constants.PUBLIC_NETWORKS else ""
),
"{0}".format(
"--override.cancun=" + str(cancun_time)
if constants.NETWORK_NAME.shadowfork in network
else ""
),
"--networkid={0}".format(networkid),
"--verbosity=" + verbosity_level,
"--datadir=" + EXECUTION_DATA_DIRPATH_ON_CLIENT_CONTAINER,
Expand Down Expand Up @@ -343,7 +338,10 @@ def get_config(
cmd.append("--override.overlay-stride=10000")
cmd.append("--override.blockproof=true")
cmd.append("--clear.verkle.costs=true")
elif network not in constants.PUBLIC_NETWORKS:
elif (
network not in constants.PUBLIC_NETWORKS
and constants.NETWORK_NAME.shadowfork not in network
):
cmd.append(
"--bootnodes="
+ shared_utils.get_devnet_enodes(
Expand Down
14 changes: 9 additions & 5 deletions src/el/nethermind/nethermind_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -218,20 +218,21 @@ def get_config(
"--Metrics.ExposeHost=0.0.0.0",
]

if network not in constants.PUBLIC_NETWORKS:
cmd.append("--config=none.cfg")
if constants.NETWORK_NAME.shadowfork in network:
cmd.append(
"--Init.ChainSpecPath="
+ constants.GENESIS_CONFIG_MOUNT_PATH_ON_CONTAINER
+ "/chainspec.json"
)
elif constants.NETWORK_NAME.shadowfork in network:
cmd.append("--config=" + network.split("-")[0])
cmd.append("--Init.BaseDbPath=" + network.split("-")[0])
elif network not in constants.PUBLIC_NETWORKS:
cmd.append("--config=none.cfg")
cmd.append(
"--Init.ChainSpecPath="
+ constants.GENESIS_CONFIG_MOUNT_PATH_ON_CONTAINER
+ "/chainspec.json"
)
cmd.append("--config=" + network)
else:
cmd.append("--config=" + network)

Expand All @@ -249,7 +250,10 @@ def get_config(
]
)
)
elif network not in constants.PUBLIC_NETWORKS:
elif (
network not in constants.PUBLIC_NETWORKS
and constants.NETWORK_NAME.shadowfork not in network
):
cmd.append(
"--Discovery.Bootnodes="
+ shared_utils.get_devnet_enodes(
Expand Down
10 changes: 5 additions & 5 deletions src/el/nimbus-eth1/nimbus_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -218,10 +218,7 @@ def get_config(
"--nat=extip:{0}".format(port_publisher.nat_exit_ip),
"--tcp-port={0}".format(discovery_port),
]
if (
network not in constants.PUBLIC_NETWORKS
or constants.NETWORK_NAME.shadowfork in network
):
if network not in constants.PUBLIC_NETWORKS:
cmd.append(
"--custom-network="
+ constants.GENESIS_CONFIG_MOUNT_PATH_ON_CONTAINER
Expand All @@ -241,7 +238,10 @@ def get_config(
]
)
)
elif network not in constants.PUBLIC_NETWORKS:
elif (
network not in constants.PUBLIC_NETWORKS
and constants.NETWORK_NAME.shadowfork not in network
):
cmd.append(
"--bootstrap-node="
+ shared_utils.get_devnet_enodes(
Expand Down
5 changes: 4 additions & 1 deletion src/el/reth/reth_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,10 @@ def get_config(
]
)
)
elif network not in constants.PUBLIC_NETWORKS:
elif (
network not in constants.PUBLIC_NETWORKS
and constants.NETWORK_NAME.shadowfork not in network
):
cmd.append(
"--bootnodes="
+ shared_utils.get_devnet_enodes(
Expand Down
8 changes: 4 additions & 4 deletions src/package_io/constants.star
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ EIP7594_FORK_VERSION = "0x70000038"

ETHEREUM_GENESIS_GENERATOR = struct(
capella_genesis="ethpandaops/ethereum-genesis-generator:2.0.12", # Deprecated (no support for minimal config)
deneb_genesis="ethpandaops/ethereum-genesis-generator:3.3.0", # Default
deneb_genesis="ethpandaops/ethereum-genesis-generator:3.3.5", # Default
verkle_support_genesis="ethpandaops/ethereum-genesis-generator:3.0.0-rc.19", # soon to be deneb genesis, waiting for rebase
verkle_genesis="ethpandaops/ethereum-genesis-generator:verkle-gen-v1.0.0",
)
Expand All @@ -110,9 +110,9 @@ PUBLIC_NETWORKS = (
)

NETWORK_ID = {
"mainnet": 1,
"sepolia": 11155111,
"holesky": 17000,
"mainnet": "1",
"sepolia": "11155111",
"holesky": "17000",
}

CHECKPOINT_SYNC_URL = {
Expand Down
5 changes: 3 additions & 2 deletions src/participant_network.star
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ def launch_participant_network(
cancun_time = 0
prague_time = 0
shadowfork_block = "latest"
total_number_of_validator_keys = 0
if (
constants.NETWORK_NAME.shadowfork in network_params.network
and ("verkle" in network_params.network)
Expand Down Expand Up @@ -148,12 +149,12 @@ def launch_participant_network(
# Launch all consensus layer clients
prysm_password_relative_filepath = (
validator_data.prysm_password_relative_filepath
if network_params.network == constants.NETWORK_NAME.kurtosis
if total_number_of_validator_keys > 0
else None
)
prysm_password_artifact_uuid = (
validator_data.prysm_password_artifact_uuid
if network_params.network == constants.NETWORK_NAME.kurtosis
if total_number_of_validator_keys > 0
else None
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,9 @@ def new_env_file_for_el_cl_genesis_data(
):
return {
"UnixTimestamp": genesis_unix_timestamp,
"NetworkId": network_params.network_id,
"NetworkId": constants.NETWORK_ID[network_params.network.split("-")[0]]
if shadowfork_file
else network_params.network_id, # This will override the network_id if shadowfork_file is present. If you want to use the network_id, please ensure that you don't use "shadowfork" in the network name.
"DepositContractAddress": network_params.deposit_contract_address,
"SecondsPerSlot": network_params.seconds_per_slot,
"PreregisteredValidatorKeysMnemonic": network_params.preregistered_validator_keys_mnemonic,
Expand Down