diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5235eae..01b277b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -49,7 +49,7 @@ jobs: echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list sudo apt update sudo apt remove kurtosis-cli - sudo apt install kurtosis-cli=1.8.1 -V + sudo apt install kurtosis-cli=1.11.1 -V - name: Prepare optimism run: make chain - name: Start optimism diff --git a/Makefile b/Makefile index 815318b..ec06fe4 100644 --- a/Makefile +++ b/Makefile @@ -2,11 +2,13 @@ SED = $(shell which gsed 2>/dev/null || echo sed) .PHONY: chain chain: - git clone --depth 1 -b v1.13.4 https://github.com/ethereum-optimism/optimism ./chain - $(SED) -i 's/teku/lodestar\n cl_image: chainsafe\/lodestar:v1.31.0\n vc_image: chainsafe\/lodestar:v1.31.0/g' chain/kurtosis-devnet/simple.yaml - $(SED) -i 's/minimal/minimal\n electra_fork_epoch: 0/g' chain/kurtosis-devnet/simple.yaml - # change ethereum-packages - $(SED) -i 's/83830d44823767af65eda7dfe6b26c87c536c4cf/6d29b3ab4e729913188358bc7a4ccdba9cf1e767/g' chain/kurtosis-devnet/optimism-package-trampoline/kurtosis.yml + git clone --depth 1 -b v1.13.6 https://github.com/ethereum-optimism/optimism ./chain + cp kurtosis/kurtosis.yaml ./chain/kurtosis-devnet/optimism-package-trampoline/kurtosis.yml + cp kurtosis/main.star ./chain/kurtosis-devnet/optimism-package-trampoline/main.star + cp kurtosis/simple.yaml ./chain/kurtosis-devnet/simple.yaml + $(SED) -i 's/v1.8.2-0.20250602144112-2b7d06430e48/v1.11.1/g' ./chain/go.mod + cd chain && go mod tidy + .PHONY: devnet-up devnet-up: diff --git a/README.md b/README.md index 885f457..28cea7a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Preimage maker for optimism ## Prerequisites -* [kurtosis-cli v1.8.1](https://docs.kurtosis.com/install-historical/) +* [kurtosis-cli v1.11.1](https://docs.kurtosis.com/install-historical/) * [just](https://github.com/casey/just) ## Quickstart diff --git a/kurtosis/kurtosis.yaml b/kurtosis/kurtosis.yaml new file mode 100644 index 0000000..b1045e9 --- /dev/null +++ b/kurtosis/kurtosis.yaml @@ -0,0 +1,8 @@ +name: github.com/ethereum-optimism/optimism/kurtosis-devnet/optimism-package-trampoline +description: |- + A trampoline package for optimism-package. This one is reproducible, due to the replace directives below. +replace: + github.com/yoshidan/optimism-package: github.com/yoshidan/optimism-package@ca2ca4fab42446c1a9ddc596f1b8036db4766194 + github.com/ethpandaops/ethereum-package: github.com/ethpandaops/ethereum-package@e964e305a19d56b798800e84d264f97b87952c55 + github.com/kurtosis-tech/prometheus-package: github.com/kurtosis-tech/prometheus-package@637c9dea933be18e47f96cadc0d9bb0e3a5aa9d6 # v1.0.0 + github.com/kurtosis-tech/postgres-package: github.com/kurtosis-tech/postgres-package@9cbdde2c55e8d1656deb87821465a2ad244d8b33 # v1.0.0 diff --git a/kurtosis/main.star b/kurtosis/main.star new file mode 100644 index 0000000..77ed074 --- /dev/null +++ b/kurtosis/main.star @@ -0,0 +1,5 @@ +optimism_package = import_module("github.com/yoshidan/optimism-package/main.star") + +def run(plan, args): + # just delegate to optimism-package + optimism_package.run(plan, args) diff --git a/kurtosis/simple.yaml b/kurtosis/simple.yaml new file mode 100644 index 0000000..bc0434c --- /dev/null +++ b/kurtosis/simple.yaml @@ -0,0 +1,98 @@ +optimism_package: + faucet: + enabled: true + image: {{ localDockerImage "op-faucet" }} + chains: + op-kurtosis: + participants: + node0: + el: + type: op-geth + image: "" + log_level: "" + extra_env_vars: {} + extra_labels: {} + extra_params: [] + tolerations: [] + volume_size: 0 + min_cpu: 0 + max_cpu: 0 + min_mem: 0 + max_mem: 0 + cl: + type: op-node + image: {{ localDockerImage "op-node" }} + log_level: "" + extra_env_vars: {} + extra_labels: {} + extra_params: [] + tolerations: [] + volume_size: 0 + min_cpu: 0 + max_cpu: 0 + min_mem: 0 + max_mem: 0 + mev_params: + image: "" + builder_host: "" + builder_port: "" + network_params: + network: "kurtosis" + network_id: "2151908" + seconds_per_slot: 2 + fjord_time_offset: 0 + granite_time_offset: 0 + holocene_time_offset: 0 + isthmus_time_offset: 0 + fund_dev_accounts: true + batcher_params: + image: {{ localDockerImage "op-batcher" }} + extra_params: [] + proposer_params: + image: {{ localDockerImage "op-proposer" }} + extra_params: [] + game_type: 1 + proposal_interval: 10m + challengers: + challenger: + enabled: true + image: {{ localDockerImage "op-challenger" }} + participants: "*" + cannon_prestates_url: {{ localPrestate.URL }} + cannon_trace_types: ["cannon", "permissioned"] + op_contract_deployer_params: + image: {{ localDockerImage "op-deployer" }} + l1_artifacts_locator: {{ localContractArtifacts "l1" }} + l2_artifacts_locator: {{ localContractArtifacts "l2" }} + overrides: + faultGameAbsolutePrestate: {{ localPrestate.Hashes.prestate_mt64 }} + global_log_level: "info" + global_node_selectors: {} + global_tolerations: [] + persistent: false +ethereum_package: + participants: + - el_type: geth + cl_type: lodestar + cl_image: ghcr.io/yoshidan/lodestar:daacae61b03f17fca0c963d65ab37d8c01bb3c82 + vc_image: ghcr.io/yoshidan/lodestar:daacae61b03f17fca0c963d65ab37d8c01bb3c82 + supernode: true + network_params: + preset: minimal + fulu_fork_epoch: 5 + bpo_1_epoch: 6 + bpo_1_max_blobs: 15 + bpo_1_target_blobs: 10 + bpo_2_epoch: 7 + bpo_2_max_blobs: 21 + bpo_2_target_blobs: 14 + genesis_delay: 5 + additional_preloaded_contracts: | + { + "0x4e59b44847b379578588920cA78FbF26c0B4956C": { + "balance": "0ETH", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf3", + "storage": {}, + "nonce": "1" + } + }