From 20353d34f0bbf14dfce40750adbc8c8d1d0b03e3 Mon Sep 17 00:00:00 2001 From: Alexander Movsunov Date: Sat, 19 Jul 2025 15:34:45 +0300 Subject: [PATCH 1/6] feat(vroom-303): fusaka devnet --- packages/services/src/index.ts | 4 +- src/commands/stands/fusaka.ts | 153 +++++++++++++++++++++++++ workspaces/kurtosis/fusaka-devnet2.yml | 66 +++++++++++ 3 files changed, 221 insertions(+), 2 deletions(-) create mode 100644 src/commands/stands/fusaka.ts create mode 100644 workspaces/kurtosis/fusaka-devnet2.yml diff --git a/packages/services/src/index.ts b/packages/services/src/index.ts index e0aa6fc7..1377f1f5 100644 --- a/packages/services/src/index.ts +++ b/packages/services/src/index.ts @@ -112,7 +112,7 @@ const kapi = new DevNetServiceConfig({ const oracle = new DevNetServiceConfig({ repository: { url: "https://github.com/lidofinance/lido-oracle.git", - branch: "feat/oracle-v6", + branch: "feature/oracle-v6-testnet", }, workspace: "workspaces/oracle-v6", name: "oracle" as const, @@ -161,7 +161,7 @@ const dsmBots = new DevNetServiceConfig({ const csm = new DevNetServiceConfig({ repository: { url: "https://github.com/lidofinance/community-staking-module.git", - branch: "tags/v1", + branch: "v1.1", }, name: "csm" as const, constants: { diff --git a/src/commands/stands/fusaka.ts b/src/commands/stands/fusaka.ts new file mode 100644 index 00000000..e9cc4c3b --- /dev/null +++ b/src/commands/stands/fusaka.ts @@ -0,0 +1,153 @@ +import { Params, command } from "@devnet/command"; + +import { BlockscoutUp } from "../blockscout/up.js"; +import { KurtosisGetInfo } from "../chain/info.js"; +import { KurtosisUp } from "../chain/up.js"; +import { CouncilUp } from "../council/up.js"; +import { ActivateCSM } from "../csm/activate.js"; +import { LidoAddCSMOperatorWithKeys } from "../csm/add-operator.js"; +import { DeployCSVerifier } from "../csm/add-verifier.js"; +import { DeployCSMContracts } from "../csm/deploy.js"; +import { DataBusDeploy } from "../data-bus/deploy.js"; +import { DSMBotsUp } from "../dsm-bots/up.js"; +import { GitCheckout } from "../git/checkout.js"; +import { KapiUp } from "../kapi/up.js"; +import { ActivateLidoProtocol } from "../lido-core/activate.js"; +import { LidoAddKeys } from "../lido-core/add-keys.js"; +import { LidoAddOperator } from "../lido-core/add-operator.js"; +import { DeployLidoContracts } from "../lido-core/deploy.js"; +import { LidoDeposit } from "../lido-core/deposit.js"; +import { GenerateLidoDevNetKeys } from "../lido-core/keys/generate.js"; +import { UseLidoDevNetKeys } from "../lido-core/keys/use.js"; +import { ReplaceDSM } from "../lido-core/replace-dsm.js"; +import { LidoSetStakingLimit } from "../lido-core/set-staking-limit.js"; +import { OracleUp } from "../oracles/up.js"; +import { ValidatorAdd } from "../validator/add.js"; + +export const FusakaDevNetUp = command.cli({ + description: "Base Fusaka test stand.", + params: { + verify: Params.boolean({ + description: "Enables verification of smart contracts during deployment.", + }), + dsm: Params.boolean({ + description: "Use full DSM setup.", + default: false, + }), + preset: Params.string({ + description: "Kurtosis preset name", + default: "fusaka-devnet2", + }), + }, + async handler({ params, dre, dre: { logger } }) { + await dre.runCommand(GitCheckout, { + service: "lidoCore", + ref: "develop", + }); + + await dre.runCommand(GitCheckout, { + service: "csm", + ref: "main", + }); + + await dre.runCommand(KurtosisUp, { preset: params.preset }); + logger.log("✅ Network initialized."); + + await dre.runCommand(BlockscoutUp, {}); + logger.log("✅ BlockScout launched for transaction visualization."); + + const deployArgs = { verify: params.verify }; + const depositArgs = { dsm: params.dsm }; + + logger.log("🚀 Deploying Lido Core contracts..."); + await dre.runCommand(DeployLidoContracts, deployArgs); + logger.log("✅ Lido contracts deployed."); + + logger.log("🚀 Deploying CSM contracts..."); + await dre.runCommand(DeployCSMContracts, deployArgs); + logger.log("✅ CSM contracts deployed."); + + logger.log("🚀 Activating Lido Core protocol..."); + await dre.runCommand(ActivateLidoProtocol, {}); + logger.log("✅ Lido Core protocol activated."); + + logger.log("🚀 Activating CSM protocol..."); + await dre.runCommand(ActivateCSM, { + stakeShareLimitBP: 2000, + priorityExitShareThresholdBP: 2500, + maxDepositsPerBlock: 30, + }); + logger.log("✅ CSM protocol activated."); + + if (!params.dsm) { + logger.log("🚀 Replacing DSM with an EOA..."); + await dre.runCommand(ReplaceDSM, {}); + logger.log("✅ DSM replaced with an EOA."); + } + + const NOR_DEVNET_OPERATOR = "devnet_nor_1"; + const CSM_DEVNET_OPERATOR = "devnet_csm_1"; + + logger.log("🚀 Generating and allocating keys for NOR Module..."); + await dre.runCommand(GenerateLidoDevNetKeys, { validators: 30 }); + await dre.runCommand(UseLidoDevNetKeys, { name: NOR_DEVNET_OPERATOR }); + logger.log("✅ NOR Module keys generated and allocated."); + + logger.log("🚀 Generating and allocating keys for CSM Module..."); + await dre.runCommand(GenerateLidoDevNetKeys, { validators: 30 }); + await dre.runCommand(UseLidoDevNetKeys, { name: CSM_DEVNET_OPERATOR }); + logger.log("✅ CSM Module keys generated and allocated."); + + logger.log("🚀 Adding NOR operator..."); + await dre.runCommand(LidoAddOperator, { name: NOR_DEVNET_OPERATOR }); + logger.log(`✅ Operator ${NOR_DEVNET_OPERATOR} added.`); + + logger.log("🚀 Adding NOR keys..."); + await dre.runCommand(LidoAddKeys, { name: NOR_DEVNET_OPERATOR, id: 0 }); + logger.log("✅ NOR keys added."); + + logger.log("🚀 Increasing staking limit for NOR..."); + await dre.runCommand(LidoSetStakingLimit, { operatorId: 0, limit: 30 }); + logger.log("✅ Staking limit for NOR increased."); + + logger.log("🚀 Adding CSM operator with keys..."); + await dre.runCommand(LidoAddCSMOperatorWithKeys, { + name: CSM_DEVNET_OPERATOR, + }); + logger.log(`✅ Keys for operator ${CSM_DEVNET_OPERATOR} added.`); + + logger.log("🚀 Run KAPI service."); + await dre.runCommand(KapiUp, {}); + + logger.log("🚀 Run Oracle service."); + await dre.runCommand(OracleUp, {}); + + if (params.dsm) { + logger.log("🚀 Deploying Data-bus..."); + await dre.runCommand(DataBusDeploy, {}); + logger.log("✅ Data-bus deployed."); + + logger.log("🚀 Running Council service..."); + await dre.runCommand(CouncilUp, {}); + logger.log("✅ Council service started."); + + logger.log("🚀 Running DSM-bots service..."); + await dre.runCommand(DSMBotsUp, {}); + logger.log("✅ DSM-bots service started."); + } + + logger.log("🚀 Making deposit to NOR..."); + await dre.runCommand(LidoDeposit, { id: 1, deposits: 30, ...depositArgs }); + logger.log("✅ Deposit to NOR completed."); + + logger.log("🚀 Making deposit to CSM..."); + await dre.runCommand(LidoDeposit, { id: 3, deposits: 30, ...depositArgs }); + logger.log("✅ Deposit to CSM completed."); + + logger.log("🚀 Adding keys to the validator..."); + await dre.runCommand(ValidatorAdd, {}); + logger.log("✅ Validator keys added."); + + await dre.runCommand(KurtosisGetInfo, {}); + }, +}); diff --git a/workspaces/kurtosis/fusaka-devnet2.yml b/workspaces/kurtosis/fusaka-devnet2.yml new file mode 100644 index 00000000..ca8764d3 --- /dev/null +++ b/workspaces/kurtosis/fusaka-devnet2.yml @@ -0,0 +1,66 @@ +participants_matrix: + el: + - el_type: besu + el_image: ethpandaops/besu:fusaka-devnet-2 + - el_type: reth + el_image: ethpandaops/reth:fusaka-devnet-2 + - el_type: nimbus + el_image: ethpandaops/nimbus-eth1:fusaka-devnet-2 + - el_type: erigon + el_image: ethpandaops/erigon:fusaka-devnet-2 + - el_type: geth + el_image: ethpandaops/geth:fusaka-devnet-2 + - el_type: nethermind + el_image: ethpandaops/nethermind:fusaka-devnet-2 + cl: + - cl_type: lighthouse + cl_image: ethpandaops/lighthouse:fusaka-devnet-2 + supernode: true + - cl_type: prysm + cl_image: ethpandaops/prysm-beacon-chain:fusaka-devnet-2 + supernode: true + - cl_type: teku + cl_image: ethpandaops/teku:fusaka-devnet-2 + supernode: true + - cl_type: grandine + cl_image: ethpandaops/grandine:fusaka-devnet-2 + supernode: true + - cl_type: lodestar + cl_image: ethpandaops/lodestar:fusaka-devnet-2 + supernode: true + + +network_params: + fulu_fork_epoch: 1 + bpo_1_epoch: 2 + bpo_1_max_blobs: 12 + bpo_1_target_blobs: 9 + bpo_2_epoch: 3 + bpo_2_max_blobs: 6 + bpo_2_target_blobs: 4 + bpo_3_epoch: 4 + bpo_3_max_blobs: 9 + bpo_3_target_blobs: 6 + bpo_4_epoch: 5 + bpo_4_max_blobs: 18 + bpo_4_target_blobs: 12 + bpo_5_epoch: 6 + bpo_5_max_blobs: 9 + bpo_5_target_blobs: 6 + withdrawal_type: "0x02" + preset: mainnet + +additional_services: + - dora + - spamoor + +spamoor_params: + image: ethpandaops/spamoor:master + max_mem: 4000 + spammers: + - scenario: eoatx + config: + throughput: 200 + - scenario: blobs + config: + throughput: 20 From 381db49c5337520a6b65643c9682705a8adaefbc Mon Sep 17 00:00:00 2001 From: Alexander Movsunov Date: Tue, 22 Jul 2025 23:07:45 +0300 Subject: [PATCH 2/6] feat(vroom-303): working configuration --- workspaces/kurtosis/fusaka-devnet2.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/workspaces/kurtosis/fusaka-devnet2.yml b/workspaces/kurtosis/fusaka-devnet2.yml index ca8764d3..6f66f17f 100644 --- a/workspaces/kurtosis/fusaka-devnet2.yml +++ b/workspaces/kurtosis/fusaka-devnet2.yml @@ -13,18 +13,18 @@ participants_matrix: - el_type: nethermind el_image: ethpandaops/nethermind:fusaka-devnet-2 cl: - - cl_type: lighthouse - cl_image: ethpandaops/lighthouse:fusaka-devnet-2 - supernode: true + # - cl_type: lighthouse + # cl_image: ethpandaops/lighthouse:fusaka-devnet-2 + # supernode: true - cl_type: prysm cl_image: ethpandaops/prysm-beacon-chain:fusaka-devnet-2 supernode: true - cl_type: teku cl_image: ethpandaops/teku:fusaka-devnet-2 supernode: true - - cl_type: grandine - cl_image: ethpandaops/grandine:fusaka-devnet-2 - supernode: true + # - cl_type: grandine + # cl_image: ethpandaops/grandine:fusaka-devnet-2 + # supernode: true - cl_type: lodestar cl_image: ethpandaops/lodestar:fusaka-devnet-2 supernode: true From 4e385ff811de263621f879413bb71f43ac98a09e Mon Sep 17 00:00:00 2001 From: Alexander Movsunov Date: Tue, 29 Jul 2025 09:28:46 +0300 Subject: [PATCH 3/6] feat(vroom-303): fusaka3 --- packages/command/src/service/service.ts | 2 +- src/commands/lido-core/deploy.ts | 2 ++ workspaces/kurtosis/fusaka-devnet2.yml | 42 ++++++++++++++----------- 3 files changed, 26 insertions(+), 20 deletions(-) diff --git a/packages/command/src/service/service.ts b/packages/command/src/service/service.ts index b2a378df..fe1fda2a 100644 --- a/packages/command/src/service/service.ts +++ b/packages/command/src/service/service.ts @@ -120,7 +120,7 @@ export class DevNetService { : Record | null > { const { labels } = this.config; - + // todo: make something with dora if (must) { return await getContainersByServiceLabels( labels, diff --git a/src/commands/lido-core/deploy.ts b/src/commands/lido-core/deploy.ts index c7524087..8e119596 100644 --- a/src/commands/lido-core/deploy.ts +++ b/src/commands/lido-core/deploy.ts @@ -16,6 +16,7 @@ type DeployEnvRequired = { NETWORK_STATE_FILE: string; RPC_URL: string; SLOTS_PER_EPOCH: string; + GAS_LIMIT?: string; }; export const DeployLidoContracts = command.cli({ @@ -63,6 +64,7 @@ export const DeployLidoContracts = command.cli({ GENESIS_TIME: genesis_time, RPC_URL: elPublic, SLOTS_PER_EPOCH: constants.SLOTS_PER_EPOCH, + GAS_LIMIT: '16000000', }; await lidoCore.sh({ env: deployEnv })`bash -c scripts/dao-deploy.sh`; diff --git a/workspaces/kurtosis/fusaka-devnet2.yml b/workspaces/kurtosis/fusaka-devnet2.yml index 6f66f17f..d56d4365 100644 --- a/workspaces/kurtosis/fusaka-devnet2.yml +++ b/workspaces/kurtosis/fusaka-devnet2.yml @@ -1,33 +1,35 @@ participants_matrix: el: - - el_type: besu - el_image: ethpandaops/besu:fusaka-devnet-2 - - el_type: reth - el_image: ethpandaops/reth:fusaka-devnet-2 - - el_type: nimbus - el_image: ethpandaops/nimbus-eth1:fusaka-devnet-2 + # - el_type: besu + # el_image: ethpandaops/besu:fusaka-devnet-3 + # - el_type: reth + # el_image: ethpandaops/reth:fusaka-devnet-3 + # - el_type: nimbus + # el_image: ethpandaops/nimbus-eth1:fusaka-devnet-3 - el_type: erigon - el_image: ethpandaops/erigon:fusaka-devnet-2 + el_image: docker.ethquokkaops.io/dh/ethpandaops/erigon:fusaka-devnet-3 - el_type: geth - el_image: ethpandaops/geth:fusaka-devnet-2 - - el_type: nethermind - el_image: ethpandaops/nethermind:fusaka-devnet-2 + el_image: docker.ethquokkaops.io/dh/ethpandaops/geth:fusaka-devnet-3 + el_extra_params: [ --gcmode=archive ] + # - el_type: nethermind + # el_image: ethpandaops/nethermind:fusaka-devnet-3 cl: - # - cl_type: lighthouse - # cl_image: ethpandaops/lighthouse:fusaka-devnet-2 - # supernode: true + - cl_type: lighthouse + cl_image: docker.ethquokkaops.io/dh/ethpandaops/lighthouse:fusaka-devnet-3 + supernode: true - cl_type: prysm - cl_image: ethpandaops/prysm-beacon-chain:fusaka-devnet-2 + cl_image: docker.ethquokkaops.io/dh/ethpandaops/prysm-beacon-chain:fusaka-devnet-3 supernode: true - cl_type: teku - cl_image: ethpandaops/teku:fusaka-devnet-2 + cl_image: docker.ethquokkaops.io/dh/ethpandaops/teku:fusaka-devnet-3 supernode: true + use_separate_vc: true # - cl_type: grandine - # cl_image: ethpandaops/grandine:fusaka-devnet-2 + # cl_image: ethpandaops/grandine:fusaka-devnet-3 + # supernode: true + # - cl_type: lodestar + # cl_image: ethpandaops/lodestar:fusaka-devnet-3 # supernode: true - - cl_type: lodestar - cl_image: ethpandaops/lodestar:fusaka-devnet-2 - supernode: true network_params: @@ -54,6 +56,8 @@ additional_services: - dora - spamoor +keymanager_enabled: true + spamoor_params: image: ethpandaops/spamoor:master max_mem: 4000 From 65668dc3e5efce2f7f9a0ad1b04dee43bab17962 Mon Sep 17 00:00:00 2001 From: Alexander Movsunov Date: Thu, 4 Sep 2025 18:21:58 +0400 Subject: [PATCH 4/6] fix(vroom-306): lido cli branch with temp fixes --- packages/cl-client/src/index.ts | 1 + packages/command/src/service/service.ts | 1 + packages/services/src/index.ts | 2 +- src/commands/csm/deploy.ts | 9 ++++++--- workspaces/kurtosis/fusaka-devnet2.yml | 12 ++++++------ 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/cl-client/src/index.ts b/packages/cl-client/src/index.ts index fc93e92e..d6c98442 100644 --- a/packages/cl-client/src/index.ts +++ b/packages/cl-client/src/index.ts @@ -36,6 +36,7 @@ export type BeaconValidatorsResponse = z.infer; export const BeaconConfigSchema = z.object({ data: z.object({ ELECTRA_FORK_EPOCH: z.string(), + CAPELLA_FORK_EPOCH: z.string(), SECONDS_PER_SLOT: z.string(), SLOTS_PER_EPOCH: z.string(), DEPOSIT_CONTRACT_ADDRESS: z.string(), diff --git a/packages/command/src/service/service.ts b/packages/command/src/service/service.ts index fe1fda2a..f0551446 100644 --- a/packages/command/src/service/service.ts +++ b/packages/command/src/service/service.ts @@ -121,6 +121,7 @@ export class DevNetService { > { const { labels } = this.config; // todo: make something with dora + delete labels['dora']; if (must) { return await getContainersByServiceLabels( labels, diff --git a/packages/services/src/index.ts b/packages/services/src/index.ts index 1377f1f5..c5667f8d 100644 --- a/packages/services/src/index.ts +++ b/packages/services/src/index.ts @@ -35,7 +35,7 @@ const lidoCore = new DevNetServiceConfig({ const lidoCLI = new DevNetServiceConfig({ repository: { url: "https://github.com/lidofinance/lido-cli.git", - branch: "feature/devnet-command", + branch: "fix/vroom-306-temp-fix-fusaka-1", }, name: "lidoCLI" as const, constants: { diff --git a/src/commands/csm/deploy.ts b/src/commands/csm/deploy.ts index 939f4b51..094aad3c 100644 --- a/src/commands/csm/deploy.ts +++ b/src/commands/csm/deploy.ts @@ -20,6 +20,7 @@ type CSMENVConfig = { DEPLOYER_PRIVATE_KEY: string; DEVNET_CHAIN_ID: string; DEVNET_ELECTRA_EPOCH: string; + DEVNET_CAPELLA_EPOCH: string; DEVNET_GENESIS_TIME: string; DEVNET_SLOTS_PER_EPOCH: string; EVM_SCRIPT_EXECUTOR_ADDRESS: string; @@ -27,6 +28,7 @@ type CSMENVConfig = { UPGRADE_CONFIG: string; VERIFIER_API_KEY: string; VERIFIER_URL: string; + FOUNDRY_BLOCK_GAS_LIMIT: string; }; export const DeployCSMContracts = command.cli({ @@ -58,7 +60,7 @@ export const DeployCSMContracts = command.cli({ } = await clClient.getGenesis(); const { - data: { ELECTRA_FORK_EPOCH, SLOTS_PER_EPOCH }, + data: { ELECTRA_FORK_EPOCH, SLOTS_PER_EPOCH, CAPELLA_FORK_EPOCH }, } = await clClient.getConfig(); const blockscoutConfig = await state.getBlockScout(); @@ -84,11 +86,12 @@ export const DeployCSMContracts = command.cli({ DEVNET_ELECTRA_EPOCH: ELECTRA_FORK_EPOCH, DEVNET_GENESIS_TIME: genesis_time, DEVNET_SLOTS_PER_EPOCH: SLOTS_PER_EPOCH, + DEVNET_CAPELLA_EPOCH: CAPELLA_FORK_EPOCH, EVM_SCRIPT_EXECUTOR_ADDRESS: agent, RPC_URL: elPublic, UPGRADE_CONFIG: constants.UPGRADE_CONFIG, VERIFIER_API_KEY: constants.VERIFIER_API_KEY, - + FOUNDRY_BLOCK_GAS_LIMIT: "1000000000", VERIFIER_URL: blockscoutConfig.api, }; @@ -99,7 +102,7 @@ export const DeployCSMContracts = command.cli({ await dre.runCommand(CSMInstall, {}); - const args = ["deploy-live-no-confirm", "-g", "200", "--legacy", "--private-key", "$DEPLOYER_PRIVATE_KEY"]; + const args = ["deploy-live-no-confirm", "--slow", "--legacy", "--private-key", "$DEPLOYER_PRIVATE_KEY"]; if (params.verify) { args.push("--verify", "--verifier", "blockscout", "--chain", "32382"); } diff --git a/workspaces/kurtosis/fusaka-devnet2.yml b/workspaces/kurtosis/fusaka-devnet2.yml index d56d4365..972644fd 100644 --- a/workspaces/kurtosis/fusaka-devnet2.yml +++ b/workspaces/kurtosis/fusaka-devnet2.yml @@ -6,17 +6,17 @@ participants_matrix: # el_image: ethpandaops/reth:fusaka-devnet-3 # - el_type: nimbus # el_image: ethpandaops/nimbus-eth1:fusaka-devnet-3 - - el_type: erigon - el_image: docker.ethquokkaops.io/dh/ethpandaops/erigon:fusaka-devnet-3 - el_type: geth - el_image: docker.ethquokkaops.io/dh/ethpandaops/geth:fusaka-devnet-3 + el_image: docker.ethquokkaops.io/dh/ethpandaops/geth:fusaka-devnet-4 el_extra_params: [ --gcmode=archive ] + - el_type: erigon + el_image: docker.ethquokkaops.io/dh/ethpandaops/erigon:fusaka-devnet-4 # - el_type: nethermind # el_image: ethpandaops/nethermind:fusaka-devnet-3 cl: - - cl_type: lighthouse - cl_image: docker.ethquokkaops.io/dh/ethpandaops/lighthouse:fusaka-devnet-3 - supernode: true + # - cl_type: lighthouse + # cl_image: docker.ethquokkaops.io/dh/ethpandaops/lighthouse:fusaka-devnet-3 + # supernode: true - cl_type: prysm cl_image: docker.ethquokkaops.io/dh/ethpandaops/prysm-beacon-chain:fusaka-devnet-3 supernode: true From 8143e951090f506cb7f7bff06a50fb087432af64 Mon Sep 17 00:00:00 2001 From: Alexander Movsunov Date: Thu, 4 Sep 2025 18:24:26 +0400 Subject: [PATCH 5/6] fix(vroom-306): oracle branch with temp fixes --- packages/services/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/services/src/index.ts b/packages/services/src/index.ts index c5667f8d..150aec5b 100644 --- a/packages/services/src/index.ts +++ b/packages/services/src/index.ts @@ -112,7 +112,7 @@ const kapi = new DevNetServiceConfig({ const oracle = new DevNetServiceConfig({ repository: { url: "https://github.com/lidofinance/lido-oracle.git", - branch: "feature/oracle-v6-testnet", + branch: "fix/vroom-306-temp-fix-fusaka-1", }, workspace: "workspaces/oracle-v6", name: "oracle" as const, From 6b2f0a33d24d3eeba45c139afe49e2526f27d5a7 Mon Sep 17 00:00:00 2001 From: Alexander Movsunov Date: Fri, 5 Sep 2025 14:45:49 +0400 Subject: [PATCH 6/6] fix(vroom-306): kurtosis config --- workspaces/kurtosis/fusaka-devnet2.yml | 74 ++++++++++++++++---------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/workspaces/kurtosis/fusaka-devnet2.yml b/workspaces/kurtosis/fusaka-devnet2.yml index 972644fd..ed2b093d 100644 --- a/workspaces/kurtosis/fusaka-devnet2.yml +++ b/workspaces/kurtosis/fusaka-devnet2.yml @@ -1,57 +1,75 @@ participants_matrix: el: - # - el_type: besu - # el_image: ethpandaops/besu:fusaka-devnet-3 - # - el_type: reth - # el_image: ethpandaops/reth:fusaka-devnet-3 - # - el_type: nimbus - # el_image: ethpandaops/nimbus-eth1:fusaka-devnet-3 + #- el_type: besu + # el_image: ethpandaops/besu:fusaka-devnet-3 + #- el_type: reth + # el_image: ethpandaops/reth:fusaka-devnet-3 + #- el_type: nimbus + # el_image: ethpandaops/nimbus-eth1:fusaka-devnet-3 - el_type: geth - el_image: docker.ethquokkaops.io/dh/ethpandaops/geth:fusaka-devnet-4 - el_extra_params: [ --gcmode=archive ] - - el_type: erigon - el_image: docker.ethquokkaops.io/dh/ethpandaops/erigon:fusaka-devnet-4 - # - el_type: nethermind - # el_image: ethpandaops/nethermind:fusaka-devnet-3 + el_image: ethpandaops/geth:master + el_extra_params: [ --rpc.gascap=16777215 --rpc.allow-unprotected-txs --syncmode=full --gcmode=archive ] + el_min_cpu: 0 + el_max_cpu: 0 + el_min_mem: 0 + el_max_mem: 0 + el_volume_size: 102400 + #- el_type: erigon + # el_image: docker.ethquokkaops.io/dh/ethpandaops/erigon:fusaka-devnet-3 + - el_type: nethermind + el_image: ethpandaops/nethermind:fusaka-devnet-3 cl: - # - cl_type: lighthouse - # cl_image: docker.ethquokkaops.io/dh/ethpandaops/lighthouse:fusaka-devnet-3 - # supernode: true - - cl_type: prysm - cl_image: docker.ethquokkaops.io/dh/ethpandaops/prysm-beacon-chain:fusaka-devnet-3 + - cl_type: lighthouse + cl_image: docker.ethquokkaops.io/dh/ethpandaops/lighthouse:fusaka-devnet-3 supernode: true + use_separate_vc: true + #- cl_type: prysm + # cl_image: ethpandaops/prysm-beacon-chain:fusaka-devnet-3 + # supernode: true - cl_type: teku - cl_image: docker.ethquokkaops.io/dh/ethpandaops/teku:fusaka-devnet-3 + cl_image: ethpandaops/teku:master + cl_extra_params: [ --reconstruct-historic-states=true ] + cl_extra_env_vars: + JAVA_OPTS: "-Xmx32g" supernode: true use_separate_vc: true + cl_min_cpu: 4000 + cl_max_cpu: 8000 + cl_min_mem: 16384 + cl_max_mem: 32768 + cl_volume_size: 102400 # - cl_type: grandine # cl_image: ethpandaops/grandine:fusaka-devnet-3 # supernode: true - # - cl_type: lodestar - # cl_image: ethpandaops/lodestar:fusaka-devnet-3 - # supernode: true + #- cl_type: lodestar + # cl_image: ethpandaops/lodestar:unstable + # supernode: true + # use_separate_vc: true network_params: - fulu_fork_epoch: 1 - bpo_1_epoch: 2 + network_id: "32382" + fulu_fork_epoch: 10 + bpo_1_epoch: 20 bpo_1_max_blobs: 12 bpo_1_target_blobs: 9 - bpo_2_epoch: 3 + bpo_2_epoch: 23 bpo_2_max_blobs: 6 bpo_2_target_blobs: 4 - bpo_3_epoch: 4 + bpo_3_epoch: 24 bpo_3_max_blobs: 9 bpo_3_target_blobs: 6 - bpo_4_epoch: 5 + bpo_4_epoch: 25 bpo_4_max_blobs: 18 bpo_4_target_blobs: 12 - bpo_5_epoch: 6 + bpo_5_epoch: 26 bpo_5_max_blobs: 9 bpo_5_target_blobs: 6 withdrawal_type: "0x02" preset: mainnet +persistent: true + additional_services: - dora - spamoor @@ -60,7 +78,7 @@ keymanager_enabled: true spamoor_params: image: ethpandaops/spamoor:master - max_mem: 4000 + max_mem: 8000 spammers: - scenario: eoatx config: