From 1057b44d10520778293b492028d4f7ffff0ddbef Mon Sep 17 00:00:00 2001 From: Roy Crihfield Date: Tue, 26 Mar 2024 20:09:11 +0800 Subject: [PATCH] eth genesis deneb updates --- .../config/fixturenet-eth/fixturenet-eth.env | 5 +++- .../cerc-fixturenet-eth-genesis/Dockerfile | 2 +- .../genesis/el/build_el.sh | 28 ++----------------- .../genesis/el/el-config.yaml | 24 ++++------------ .../cerc-fixturenet-eth-lighthouse/Dockerfile | 2 -- .../genesis/cl/build_cl.sh | 20 +++++-------- .../genesis/cl/vars.env | 4 ++- 7 files changed, 22 insertions(+), 63 deletions(-) diff --git a/stack_orchestrator/data/config/fixturenet-eth/fixturenet-eth.env b/stack_orchestrator/data/config/fixturenet-eth/fixturenet-eth.env index 2bf489ae..695c8fac 100644 --- a/stack_orchestrator/data/config/fixturenet-eth/fixturenet-eth.env +++ b/stack_orchestrator/data/config/fixturenet-eth/fixturenet-eth.env @@ -22,4 +22,7 @@ CERC_STATEDIFF_DB_LOG_STATEMENTS="${CERC_STATEDIFF_DB_LOG_STATEMENTS:-false}" CERC_STATEDIFF_WORKERS=2 CERC_GETH_VMODULE="statediff/*=5,rpc/*=5" -CERC_GETH_VERBOSITY=${CERC_GETH_VERBOSITY:-3} \ No newline at end of file +CERC_GETH_VERBOSITY=${CERC_GETH_VERBOSITY:-3} + +# Used by Lighthouse +SECONDS_PER_ETH1_BLOCK=${SECONDS_PER_ETH1_BLOCK:-3} diff --git a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/Dockerfile b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/Dockerfile index adfba588..870e8c94 100644 --- a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/Dockerfile +++ b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/Dockerfile @@ -1,4 +1,4 @@ -FROM skylenet/ethereum-genesis-generator@sha256:210353ce7c898686bc5092f16c61220a76d357f51eff9c451e9ad1b9ad03d4d3 AS ethgen +FROM ethpandaops/ethereum-genesis-generator:3.0.0 AS ethgen FROM golang:1.20-alpine as builder diff --git a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/genesis/el/build_el.sh b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/genesis/el/build_el.sh index 9ff77fab..d7a0ae13 100755 --- a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/genesis/el/build_el.sh +++ b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/genesis/el/build_el.sh @@ -9,32 +9,8 @@ mkdir -p ../build/el tmp_dir=$(mktemp -d -t ci-XXXXXXXXXX) envsubst < el-config.yaml > $tmp_dir/genesis-config.yaml -ttd=`cat $tmp_dir/genesis-config.yaml | grep terminal_total_difficulty | awk '{ print $2 }'` -homestead_block=`cat $tmp_dir/genesis-config.yaml | grep homestead_block | awk '{ print $2 }'` -eip150_block=`cat $tmp_dir/genesis-config.yaml | grep eip150_block | awk '{ print $2 }'` -eip155_block=`cat $tmp_dir/genesis-config.yaml | grep eip155_block | awk '{ print $2 }'` -eip158_block=`cat $tmp_dir/genesis-config.yaml | grep eip158_block | awk '{ print $2 }'` -byzantium_block=`cat $tmp_dir/genesis-config.yaml | grep byzantium_block | awk '{ print $2 }'` -constantinople_block=`cat $tmp_dir/genesis-config.yaml | grep constantinople_block | awk '{ print $2 }'` -petersburg_block=`cat $tmp_dir/genesis-config.yaml | grep petersburg_block | awk '{ print $2 }'` -istanbul_block=`cat $tmp_dir/genesis-config.yaml | grep istanbul_block | awk '{ print $2 }'` -berlin_block=`cat $tmp_dir/genesis-config.yaml | grep berlin_block | awk '{ print $2 }'` -london_block=`cat $tmp_dir/genesis-config.yaml | grep london_block | awk '{ print $2 }'` -merge_fork_block=`cat $tmp_dir/genesis-config.yaml | grep merge_fork_block | awk '{ print $2 }'` - python3 /apps/el-gen/genesis_geth.py $tmp_dir/genesis-config.yaml | \ - jq ".config.terminalTotalDifficulty=$ttd" | \ - jq ".config.homesteadBlock=$homestead_block" | \ - jq ".config.eip150Block=$eip150_block" | \ - jq ".config.eip155Block=$eip155_block" | \ - jq ".config.eip158Block=$eip158_block" | \ - jq ".config.byzantiumBlock=$byzantium_block" | \ - jq ".config.constantinopleBlock=$constantinople_block" | \ - jq ".config.petersburgBlock=$petersburg_block" | \ - jq ".config.istanbulBlock=$istanbul_block" | \ - jq ".config.berlinBlock=$berlin_block" | \ - jq ".config.londonBlock=$london_block" | \ - jq ".config.mergeForkBlock=$merge_fork_block" | \ - jq ".config.mergeNetsplitBlock=$merge_fork_block" \ + jq 'del(.config.pragueTime)' \ > ../build/el/geth.json + python3 ../accounts/mnemonic_to_csv.py $tmp_dir/genesis-config.yaml > ../build/el/accounts.csv diff --git a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/genesis/el/el-config.yaml b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/genesis/el/el-config.yaml index 8bcb0fac..a3bfb110 100644 --- a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/genesis/el/el-config.yaml +++ b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-genesis/genesis/el/el-config.yaml @@ -10,22 +10,8 @@ el_premine_addrs: {} chain_id: 1212 deposit_contract_address: "0x1212121212121212121212121212121212121212" genesis_timestamp: 0 -terminal_total_difficulty: 1000 -homestead_block: 1 -eip150_block: 1 -eip155_block: 1 -eip158_block: 1 -byzantium_block: 1 -constantinople_block: 1 -petersburg_block: 1 -istanbul_block: 1 -berlin_block: 1 -london_block: 1 -merge_fork_block: 1 - -clique: - enabled: false - signers: - - 36d56343bc308d4ffaac2f793d121aba905fa6cc - - 5e762d4a3847cadaf40a4b0c39574b0ff6698c78 - - 15d7acc1019fdf8ab4f0f7bd31ec1487ecb5a2bd +genesis_delay: 0 +deneb_fork_epoch: 0 +# note: only needed as workaround https://github.com/ethpandaops/ethereum-genesis-generator/pull/105 +electra_fork_epoch: 0 +slot_duration_in_seconds: 3 diff --git a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/Dockerfile b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/Dockerfile index b96046fa..21712bcd 100644 --- a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/Dockerfile +++ b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/Dockerfile @@ -1,5 +1,4 @@ FROM cerc/lighthouse-cli:local AS lcli -FROM skylenet/ethereum-genesis-generator@sha256:210353ce7c898686bc5092f16c61220a76d357f51eff9c451e9ad1b9ad03d4d3 AS ethgen FROM cerc/fixturenet-eth-genesis:local AS fnetgen FROM cerc/lighthouse:local @@ -13,7 +12,6 @@ RUN apt-get update && apt-get -y upgrade && apt-get install -y --no-install-reco && rm -rf /var/lib/apt/lists/* COPY --from=lcli /usr/local/bin/lcli /usr/local/bin/lcli -COPY --from=ethgen /apps /apps COPY --from=fnetgen /opt/genesis/el /opt/testnet/el COPY --from=fnetgen /opt/genesis/build/el /opt/testnet/build/el diff --git a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/build_cl.sh b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/build_cl.sh index 50b3e4e6..5157b388 100755 --- a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/build_cl.sh +++ b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/build_cl.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash +# See https://github.com/sigp/lighthouse/scripts/local_testnet/setup.sh # # Deploys the deposit contract and makes deposits for $VALIDATOR_COUNT insecure deterministic validators. # Produces a testnet specification and a genesis state where the genesis time @@ -24,23 +25,26 @@ echo "(Note: errors of the form 'WARN: Scrypt parameters are too weak...' below lcli \ new-testnet \ --spec $SPEC_PRESET \ - --deposit-contract-address $ETH1_DEPOSIT_CONTRACT_ADDRESS \ --testnet-dir $TESTNET_DIR \ + --deposit-contract-address $ETH1_DEPOSIT_CONTRACT_ADDRESS \ --min-genesis-active-validator-count $GENESIS_VALIDATOR_COUNT \ --validator-count $VALIDATOR_COUNT \ --min-genesis-time $GENESIS_TIME \ --genesis-delay $GENESIS_DELAY \ --genesis-fork-version $GENESIS_FORK_VERSION \ --altair-fork-epoch $ALTAIR_FORK_EPOCH \ - --bellatrix-fork-epoch $MERGE_FORK_EPOCH \ + --bellatrix-fork-epoch $BELLATRIX_FORK_EPOCH \ + --capella-fork-epoch $CAPELLA_FORK_EPOCH \ + --deneb-fork-epoch $DENEB_FORK_EPOCH \ --eth1-id $ETH1_CHAIN_ID \ --eth1-block-hash $ETH1_BLOCK_HASH \ --eth1-follow-distance 1 \ --seconds-per-slot $SECONDS_PER_SLOT \ --seconds-per-eth1-block $SECONDS_PER_ETH1_BLOCK \ + --interop-genesis-state \ --force -echo Specification generated at $TESTNET_DIR. +echo Specification and genesis.ssz generated at $TESTNET_DIR. echo "Generating $VALIDATOR_COUNT validators concurrently... (this may take a while)" lcli \ @@ -50,13 +54,3 @@ lcli \ --node-count $BN_COUNT echo Validators generated with keystore passwords at $DATADIR. -echo "Building genesis state... (this might take a while)" - -lcli \ - interop-genesis \ - --spec $SPEC_PRESET \ - --genesis-time $GENESIS_TIME \ - --testnet-dir $TESTNET_DIR \ - $GENESIS_VALIDATOR_COUNT - -echo Created genesis state in $TESTNET_DIR diff --git a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/vars.env b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/vars.env index 081f8f78..54634fc7 100644 --- a/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/vars.env +++ b/stack_orchestrator/data/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/vars.env @@ -25,7 +25,9 @@ BOOTNODE_PORT=${BOOTNODE_PORT:-4242} # Hard fork configuration ALTAIR_FORK_EPOCH=${ALTAIR_FORK_EPOCH:-0} -MERGE_FORK_EPOCH=${MERGE_FORK_EPOCH:-0} +BELLATRIX_FORK_EPOCH=${BELLATRIX_FORK_EPOCH:-0} +CAPELLA_FORK_EPOCH=${CAPELLA_FORK_EPOCH:-0} +DENEB_FORK_EPOCH=${DENEB_FORK_EPOCH:-0} # Spec version (mainnet or minimal) SPEC_PRESET=${SPEC_PRESET:-mainnet}