# `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
```