Skip to content

Commit e21fceb

Browse files
committed
one-click kurtosis support
1 parent 67514fe commit e21fceb

4 files changed

Lines changed: 143 additions & 56 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,6 @@ devenv.*
2424
devenv.lock
2525
.devenv.flake.nix
2626
.envrc
27+
28+
# Generated from testnet
29+
kurtosis-dump

justfile

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,3 +166,39 @@ clean:
166166
# Runs the suite of tests for all commit-boost crates.
167167
test:
168168
cargo test --all-features
169+
170+
# =================
171+
# === Kurtosis ===
172+
# =================
173+
174+
# Tear down and clean up all enclaves
175+
clean-kurtosis:
176+
kurtosis clean -a
177+
178+
# Clean all enclaves and restart the testnet
179+
restart-kurtosis:
180+
just clean-kurtosis
181+
kurtosis run github.com/ethpandaops/ethereum-package \
182+
--enclave CB-Testnet \
183+
--args-file provisioning/kurtosis-config.yml
184+
185+
# Build local docker images and restart testnet
186+
build-kurtosis:
187+
just build-all kurtosis
188+
just restart-kurtosis
189+
190+
# Inspect running enclave
191+
inspect-kurtosis:
192+
kurtosis enclave inspect CB-Testnet
193+
194+
# Tail logs for a specific service: just logs-kurtosis <service>
195+
logs-kurtosis service:
196+
kurtosis service logs CB-Testnet {{service}} --follow
197+
198+
# Shell into a specific service: just shell-kurtosis <service>
199+
shell-kurtosis service:
200+
kurtosis service shell CB-Testnet {{service}}
201+
202+
# Dump enclave state to disk for post-mortem
203+
dump-kurtosis:
204+
kurtosis enclave dump CB-Testnet ./kurtosis-dump

provisioning/kurtosis-config.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# ELs: geth, nethermind, erigon, besu, reth, ethrex
2+
# CLs: nimbus, lighthouse, lodestar, teku, prysm, and grandine
3+
participants:
4+
- el_type: geth
5+
cl_type: nimbus
6+
7+
- el_type: nethermind
8+
cl_type: lighthouse
9+
10+
- el_type: erigon
11+
cl_type: lodestar
12+
13+
- el_type: besu
14+
cl_type: teku
15+
16+
- el_type: reth
17+
cl_type: prysm
18+
19+
- el_type: ethrex
20+
cl_type: grandine
21+
22+
additional_services:
23+
- dora
24+
- spamoor
25+
mev_type: commit-boost
26+
27+
mev_params:
28+
mev_relay_image: ethpandaops/mev-boost-relay:main
29+
mev_boost_image: commit-boost/pbs:kurtosis
30+
mev_builder_cl_image: sigp/lighthouse:latest
31+
mev_builder_image: ethpandaops/reth-rbuilder:develop
32+
33+
network_params:
34+
network: kurtosis
35+
network_id: "3151908"
36+
deposit_contract_address: "0x00000000219ab540356cBB839Cbe05303d7705Fa"
37+
seconds_per_slot: 12
38+
slot_duration_ms: 12000
39+
num_validator_keys_per_node: 128
40+
preregistered_validator_keys_mnemonic:
41+
"giant issue aisle success illegal bike spike
42+
question tent bar rely arctic volcano long crawl hungry vocal artwork sniff fantasy
43+
very lucky have athlete"
44+
preregistered_validator_count: 0
45+
additional_mnemonics: []
46+
genesis_delay: 20
47+
genesis_time: 0
48+
genesis_gaslimit: 60000000
49+
max_per_epoch_activation_churn_limit: 8
50+
churn_limit_quotient: 65536
51+
ejection_balance: 16000000000
52+
eth1_follow_distance: 2048
53+
min_validator_withdrawability_delay: 256
54+
shard_committee_period: 256
55+
attestation_due_bps_gloas: 2500
56+
aggregate_due_bps_gloas: 5000
57+
sync_message_due_bps_gloas: 2500
58+
contribution_due_bps_gloas: 5000
59+
payload_attestation_due_bps: 7500
60+
view_freeze_cutoff_bps: 7500
61+
inclusion_list_submission_due_bps: 6667
62+
proposer_inclusion_list_cutoff_bps: 9167
63+
deneb_fork_epoch: 0
64+
electra_fork_epoch: 0
65+
fulu_fork_epoch: 0
66+
gloas_fork_epoch: 18446744073709551615
67+
network_sync_base_url: https://snapshots.ethpandaops.io/
68+
force_snapshot_sync: false
69+
data_column_sidecar_subnet_count: 128
70+
samples_per_slot: 8
71+
custody_requirement: 4
72+
max_blobs_per_block_electra: 9
73+
max_request_blocks_deneb: 128
74+
max_request_blob_sidecars_electra: 1152
75+
target_blobs_per_block_electra: 6
76+
base_fee_update_fraction_electra: 5007716
77+
additional_preloaded_contracts: {}
78+
devnet_repo: ethpandaops
79+
prefunded_accounts: {}
80+
bpo_1_epoch: 0
81+
bpo_1_max_blobs: 15
82+
bpo_1_target_blobs: 10
83+
bpo_1_base_fee_update_fraction: 8346193
84+
bpo_2_epoch: 18446744073709551615
85+
bpo_2_max_blobs: 21
86+
bpo_2_target_blobs: 14
87+
bpo_2_base_fee_update_fraction: 11684671
88+
bpo_3_epoch: 18446744073709551615
89+
bpo_3_max_blobs: 0
90+
bpo_3_target_blobs: 0
91+
bpo_3_base_fee_update_fraction: 0
92+
bpo_4_epoch: 18446744073709551615
93+
bpo_4_max_blobs: 0
94+
bpo_4_target_blobs: 0
95+
bpo_4_base_fee_update_fraction: 0
96+
bpo_5_epoch: 18446744073709551615
97+
bpo_5_max_blobs: 0
98+
bpo_5_target_blobs: 0
99+
bpo_5_base_fee_update_fraction: 0
100+
withdrawal_type: "0x00"
101+
withdrawal_address: "0x8943545177806ED17B9F23F0a21ee5948eCaa776"
102+
validator_balance: 32
103+
min_epochs_for_data_column_sidecars_requests: 4096
104+
min_epochs_for_block_requests: 33024

provisioning/pectra-config.yml

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)