# `execute` live session commands ## Ethpandaops' `ethereum-package` Repo: https://github.com/ethpandaops/ethereum-package ## Kurtosis: ### Install Full guide: https://docs.kurtosis.com/install/ Ubuntu install: ```bash= echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list sudo apt update sudo apt install kurtosis-cli ``` MacOS install: ```bash= brew install kurtosis-tech/tap/kurtosis-cli ``` ### Start ``` sudo kurtosis run --enclave my-testnet github.com/ethpandaops/ethereum-package --args-file network_params.yaml ``` ### `network_params.yaml` ```yaml participants: - el_type: reth cl_type: prysm network_params: network: kurtosis network_id: "3151908" deposit_contract_address: "0x00000000219ab540356cBB839Cbe05303d7705Fa" seconds_per_slot: 12 slot_duration_ms: 12000 num_validator_keys_per_node: 64 preregistered_validator_keys_mnemonic: "giant issue aisle success illegal bike spike question tent bar rely arctic volcano long crawl hungry vocal artwork sniff fantasy very lucky have athlete" preregistered_validator_count: 0 genesis_delay: 20 genesis_gaslimit: 60000000 max_per_epoch_activation_churn_limit: 8 churn_limit_quotient: 65536 ejection_balance: 16000000000 eth1_follow_distance: 2048 min_validator_withdrawability_delay: 256 shard_committee_period: 256 attestation_due_bps_gloas: 2500 aggregate_due_bps_gloas: 5000 sync_message_due_bps_gloas: 2500 contribution_due_bps_gloas: 5000 payload_attestation_due_bps: 7500 view_freeze_cutoff_bps: 7500 inclusion_list_submission_due_bps: 6667 proposer_inclusion_list_cutoff_bps: 9167 deneb_fork_epoch: 0 electra_fork_epoch: 0 network_sync_base_url: https://snapshots.ethpandaops.io/ force_snapshot_sync: false data_column_sidecar_subnet_count: 128 samples_per_slot: 8 custody_requirement: 4 max_blobs_per_block_electra: 9 max_request_blocks_deneb: 128 max_request_blob_sidecars_electra: 1152 target_blobs_per_block_electra: 6 base_fee_update_fraction_electra: 5007716 additional_preloaded_contracts: {} devnet_repo: ethpandaops prefunded_accounts: {} withdrawal_type: "0x00" withdrawal_address: "0x8943545177806ED17B9F23F0a21ee5948eCaa776" validator_balance: 32 min_epochs_for_data_column_sidecars_requests: 4096 additional_services: - dora - blockscout blockscout_params: image: "ghcr.io/blockscout/blockscout:latest" verif_image: "ghcr.io/blockscout/smart-contract-verifier:latest" frontend_image: "ghcr.io/blockscout/frontend:latest" dora_params: image: "ethpandaops/dora:latest" wait_for_finalization: false global_log_level: info snooper_enabled: false ethereum_metrics_exporter_enabled: false parallel_keystore_generation: false disable_peer_scoring: false persistent: false mev_type: null xatu_sentry_enabled: false global_tolerations: [] global_node_selectors: {} keymanager_enabled: false checkpoint_sync_enabled: false checkpoint_sync_url: "" ethereum_genesis_generator_params: image: ethpandaops/ethereum-genesis-generator:5.0.6 ``` ### Cleanup ```bash= sudo kurtosis enclave stop my-testnet sudo kurtosis enclave rm my-testnet ``` ## Forward ports Only necessary if running kurtosis on a separate vps from the local machine. ```bash= export DORA=32981 export BLOCKSCOUT=3000 tsh ssh -L 9000:127.0.0.1:$DORA -L 3000:127.0.0.1:$BLOCKSCOUT $HIVE_VPS ``` ## Frontend Links Dora: http://127.0.0.1:9000/ Blockscout http://127.0.0.1:3000/ ## Execute ### Environment Variables These are obtained from the ```bash= CHAIN_ID=3151908 RPC_PORT=32970 PRIVATE_KEY=bcdf20249abf0ed6d944c0288fad489e33f66b3960d9e6229c1cd214ed3bbe31 ``` ### Simple Test ```bash= uv run execute remote --rpc-seed-key 0x$PRIVATE_KEY --rpc-endpoint http://127.0.0.1:$RPC_PORT --rpc-chain-id $CHAIN_ID --fork Prague ./tests/frontier/opcodes/test_dup.py -k DUP16 ```