diff --git a/stack-orchestrator/config/fixturenet-eth/fixturenet-eth.env b/stack-orchestrator/config/fixturenet-eth/fixturenet-eth.env index 695c8fa..2bf489a 100644 --- a/stack-orchestrator/config/fixturenet-eth/fixturenet-eth.env +++ b/stack-orchestrator/config/fixturenet-eth/fixturenet-eth.env @@ -22,7 +22,4 @@ 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} - -# Used by Lighthouse -SECONDS_PER_ETH1_BLOCK=${SECONDS_PER_ETH1_BLOCK:-3} +CERC_GETH_VERBOSITY=${CERC_GETH_VERBOSITY:-3} \ No newline at end of file diff --git a/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/Dockerfile b/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/Dockerfile index 870e8c9..4fa8d0f 100644 --- a/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/Dockerfile +++ b/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/Dockerfile @@ -1,23 +1,26 @@ -FROM ethpandaops/ethereum-genesis-generator:3.0.0 AS ethgen +FROM skylenet/ethereum-genesis-generator@sha256:210353ce7c898686bc5092f16c61220a76d357f51eff9c451e9ad1b9ad03d4d3 AS ethgen FROM golang:1.20-alpine as builder -RUN apk add --no-cache python3 py3-pip make bash envsubst jq +RUN apk add --no-cache python3 py3-pip + +COPY genesis /opt/genesis # Install ethereum-genesis-generator tools +COPY --from=ethgen /usr/local/bin/eth2-testnet-genesis /usr/local/bin/ +COPY --from=ethgen /usr/local/bin/eth2-val-tools /usr/local/bin/ COPY --from=ethgen /apps /apps RUN cd /apps/el-gen && pip3 install --break-system-packages -r requirements.txt -RUN pip3 install --break-system-packages --upgrade "web3==v6.15.1" +# web3==5.24.0 used by el-gen is broken on python 3.11 +RUN pip3 install --break-system-packages --upgrade "web3==6.5.0" RUN pip3 install --break-system-packages --upgrade "typing-extensions" -# Install tool to generate initial block -RUN go install github.com/cerc-io/eth-dump-genblock@b29516740fc01cf1d1d623acbfd0e9a2b6440a96 - # Build genesis config -COPY genesis /opt/genesis +RUN apk add --no-cache make bash envsubst jq RUN cd /opt/genesis && make genesis-el # Snag the genesis block info. +RUN go install github.com/cerc-io/eth-dump-genblock@latest RUN eth-dump-genblock /opt/genesis/build/el/geth.json > /opt/genesis/build/el/genesis_block.json FROM alpine:latest diff --git a/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/genesis/el/build_el.sh b/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/genesis/el/build_el.sh index d7a0ae1..9ff77fa 100755 --- a/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/genesis/el/build_el.sh +++ b/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/genesis/el/build_el.sh @@ -9,8 +9,32 @@ mkdir -p ../build/el tmp_dir=$(mktemp -d -t ci-XXXXXXXXXX) envsubst < el-config.yaml > $tmp_dir/genesis-config.yaml -python3 /apps/el-gen/genesis_geth.py $tmp_dir/genesis-config.yaml | \ - jq 'del(.config.pragueTime)' \ - > ../build/el/geth.json +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" \ + > ../build/el/geth.json python3 ../accounts/mnemonic_to_csv.py $tmp_dir/genesis-config.yaml > ../build/el/accounts.csv diff --git a/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/genesis/el/el-config.yaml b/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/genesis/el/el-config.yaml index a3bfb11..8bcb0fa 100644 --- a/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/genesis/el/el-config.yaml +++ b/stack-orchestrator/container-build/cerc-fixturenet-eth-genesis/genesis/el/el-config.yaml @@ -10,8 +10,22 @@ el_premine_addrs: {} chain_id: 1212 deposit_contract_address: "0x1212121212121212121212121212121212121212" genesis_timestamp: 0 -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 +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 diff --git a/stack-orchestrator/container-build/cerc-fixturenet-eth-geth/Dockerfile b/stack-orchestrator/container-build/cerc-fixturenet-eth-geth/Dockerfile index 946dd95..14b7d07 100644 --- a/stack-orchestrator/container-build/cerc-fixturenet-eth-geth/Dockerfile +++ b/stack-orchestrator/container-build/cerc-fixturenet-eth-geth/Dockerfile @@ -1,8 +1,8 @@ FROM cerc/fixturenet-eth-genesis:local as fnetgen -FROM cerc/go-ethereum:local as geth +FROM ethereum/client-go:release-1.11 as geth # Using the same golang image as used to build geth: https://github.com/cerc-io/go-ethereum/blob/HEAD/Dockerfile -FROM golang:1.20-alpine as delve +FROM golang:1.21-alpine as delve RUN go install github.com/go-delve/delve/cmd/dlv@latest FROM alpine:3.17 diff --git a/stack-orchestrator/container-build/cerc-fixturenet-eth-geth/run-el.sh b/stack-orchestrator/container-build/cerc-fixturenet-eth-geth/run-el.sh index f84befd..be35c8b 100755 --- a/stack-orchestrator/container-build/cerc-fixturenet-eth-geth/run-el.sh +++ b/stack-orchestrator/container-build/cerc-fixturenet-eth-geth/run-el.sh @@ -6,7 +6,7 @@ fi ETHERBASE=`cat /opt/testnet/build/el/accounts.csv | head -1 | cut -d',' -f2` NETWORK_ID=`cat /opt/testnet/el/el-config.yaml | grep 'chain_id' | awk '{ print $2 }'` -NETRESTRICT=`ip addr | grep -w inet | grep -v '127.0' | awk '{print $2}'` +NETRESTRICT=`ip addr | grep 'inet ' | grep -v '127.0' | head -1 | awk '{print $2}'` CERC_ETH_DATADIR="${CERC_ETH_DATADIR:-$HOME/ethdata}" CERC_PLUGINS_DIR="${CERC_PLUGINS_DIR:-/usr/local/lib/plugeth}" @@ -50,65 +50,6 @@ else echo -n "$JWT" > /opt/testnet/build/el/jwtsecret - if [ "$CERC_RUN_STATEDIFF" == "detect" ] && [ -n "$CERC_STATEDIFF_DB_HOST" ]; then - dig_result=$(dig $CERC_STATEDIFF_DB_HOST +short) - dig_status_code=$? - if [[ $dig_status_code = 0 && -n $dig_result ]]; then - echo "Statediff DB at $CERC_STATEDIFF_DB_HOST" - CERC_RUN_STATEDIFF="true" - else - echo "No statediff DB available." - CERC_RUN_STATEDIFF="false" - fi - fi - - STATEDIFF_OPTS="" - if [ "$CERC_RUN_STATEDIFF" == "true" ]; then - ready=0 - echo "Waiting for statediff DB..." - while [ $ready -eq 0 ]; do - sleep 1 - export PGPASSWORD="$CERC_STATEDIFF_DB_PASSWORD" - result=$(psql -h "$CERC_STATEDIFF_DB_HOST" \ - -p "$CERC_STATEDIFF_DB_PORT" \ - -U "$CERC_STATEDIFF_DB_USER" \ - -d "$CERC_STATEDIFF_DB_NAME" \ - -t -c 'select max(version_id) from goose_db_version;' 2>/dev/null | awk '{ print $1 }') - if [ -n "$result" ]; then - echo "DB ready..." - if [ $result -ge $CERC_STATEDIFF_DB_GOOSE_MIN_VER ]; then - ready=1 - else - echo "DB not at required version (want $CERC_STATEDIFF_DB_GOOSE_MIN_VER, have $result)" - fi - fi - done - STATEDIFF_OPTS="--statediff \ - --statediff.db.host=$CERC_STATEDIFF_DB_HOST \ - --statediff.db.name=$CERC_STATEDIFF_DB_NAME \ - --statediff.db.nodeid=$CERC_STATEDIFF_DB_NODE_ID \ - --statediff.db.password=$CERC_STATEDIFF_DB_PASSWORD \ - --statediff.db.port=$CERC_STATEDIFF_DB_PORT \ - --statediff.db.user=$CERC_STATEDIFF_DB_USER \ - --statediff.db.logstatements=${CERC_STATEDIFF_DB_LOG_STATEMENTS:-false} \ - --statediff.db.copyfrom=${CERC_STATEDIFF_DB_COPY_FROM:-true} \ - --statediff.waitforsync=true \ - --statediff.workers=${CERC_STATEDIFF_WORKERS:-1} \ - --statediff.writing=true" - - if [ -d "${CERC_PLUGINS_DIR}" ]; then - # With plugeth, we separate the statediff options by prefixing with ' -- ' - STATEDIFF_OPTS="--pluginsdir "${CERC_PLUGINS_DIR}" -- ${STATEDIFF_OPTS}" - fi - fi - - OTHER_OPTS="" - # miner options were removed in v1.12 - GETH_VERSION=$(geth --version | grep -io '[0-9][0-9a-z.-]*') - if echo -e "$GETH_VERSION\n1.12" | sort -Vc; then - OTHER_OPTS="--miner.threads=1" - fi - $START_CMD \ --datadir="${CERC_ETH_DATADIR}" \ --bootnodes="${ENODE}" \ @@ -116,7 +57,7 @@ else --http \ --http.addr="0.0.0.0" \ --http.vhosts="*" \ - --http.api="${CERC_GETH_HTTP_APIS:-eth,web3,net,admin,personal,debug,statediff}" \ + --http.api="${CERC_GETH_HTTP_APIS:-eth,web3,net,admin,personal,debug}" \ --http.corsdomain="*" \ --authrpc.addr="0.0.0.0" \ --authrpc.vhosts="*" \ @@ -124,7 +65,7 @@ else --ws \ --ws.addr="0.0.0.0" \ --ws.origins="*" \ - --ws.api="${CERC_GETH_WS_APIS:-eth,web3,net,admin,personal,debug,statediff}" \ + --ws.api="${CERC_GETH_WS_APIS:-eth,web3,net,admin,personal,debug}" \ --http.corsdomain="*" \ --networkid="${NETWORK_ID}" \ --netrestrict="${NETRESTRICT}" \ @@ -133,13 +74,12 @@ else --cache.preimages \ --syncmode=full \ --mine \ + --miner.threads=1 \ --metrics \ --metrics.addr="0.0.0.0" \ --verbosity=${CERC_GETH_VERBOSITY:-3} \ - --log.vmodule="${CERC_GETH_VMODULE:-statediff/*=5}" \ + --log.vmodule="${CERC_GETH_VMODULE}" \ --miner.etherbase="${ETHERBASE}" \ - ${OTHER_OPTS} \ - ${STATEDIFF_OPTS} \ & geth_pid=$! diff --git a/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/Dockerfile b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/Dockerfile index 21712bc..eb791c6 100644 --- a/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/Dockerfile +++ b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/Dockerfile @@ -1,4 +1,5 @@ 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 @@ -11,13 +12,16 @@ RUN apt-get update && apt-get -y upgrade && apt-get install -y --no-install-reco && apt-get clean \ && rm -rf /var/lib/apt/lists/* -COPY --from=lcli /usr/local/bin/lcli /usr/local/bin/lcli -COPY --from=fnetgen /opt/genesis/el /opt/testnet/el -COPY --from=fnetgen /opt/genesis/build/el /opt/testnet/build/el - COPY genesis /opt/testnet COPY run-cl.sh /opt/testnet/run.sh +COPY --from=lcli /usr/local/bin/lcli /usr/local/bin/lcli +COPY --from=ethgen /usr/local/bin/eth2-testnet-genesis /usr/local/bin/eth2-testnet-genesis +COPY --from=ethgen /usr/local/bin/eth2-val-tools /usr/local/bin/eth2-val-tools +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 + RUN cd /opt/testnet && make genesis-cl # Work around some bugs in lcli where the default path is always used. diff --git a/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/beacon_node.sh b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/beacon_node.sh index 7e92f49..1f90615 100755 --- a/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/beacon_node.sh +++ b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/beacon_node.sh @@ -10,6 +10,7 @@ set -Eeuo pipefail source ./vars.env SUBSCRIBE_ALL_SUBNETS= +DEBUG_LEVEL=${DEBUG_LEVEL:-debug} # Get positional arguments data_dir=$DATADIR/node_${NODE_NUMBER} diff --git a/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/bootnode.sh b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/bootnode.sh index 15aee6e..bda3b78 100755 --- a/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/bootnode.sh +++ b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/bootnode.sh @@ -9,6 +9,8 @@ set -Eeuo pipefail source ./vars.env +DEBUG_LEVEL=${1:-info} + echo "Starting bootnode" # Clean up existing ENR dir to avoid node connectivity issues on a restart diff --git a/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/build_cl.sh b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/build_cl.sh index 5157b38..50b3e4e 100755 --- a/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/build_cl.sh +++ b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/build_cl.sh @@ -1,6 +1,5 @@ #!/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 @@ -25,26 +24,23 @@ echo "(Note: errors of the form 'WARN: Scrypt parameters are too weak...' below lcli \ new-testnet \ --spec $SPEC_PRESET \ - --testnet-dir $TESTNET_DIR \ --deposit-contract-address $ETH1_DEPOSIT_CONTRACT_ADDRESS \ + --testnet-dir $TESTNET_DIR \ --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 $BELLATRIX_FORK_EPOCH \ - --capella-fork-epoch $CAPELLA_FORK_EPOCH \ - --deneb-fork-epoch $DENEB_FORK_EPOCH \ + --bellatrix-fork-epoch $MERGE_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 and genesis.ssz generated at $TESTNET_DIR. +echo Specification generated at $TESTNET_DIR. echo "Generating $VALIDATOR_COUNT validators concurrently... (this may take a while)" lcli \ @@ -54,3 +50,13 @@ 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/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/validator_client.sh b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/validator_client.sh index 2c65e74..30168f8 100755 --- a/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/validator_client.sh +++ b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/validator_client.sh @@ -8,6 +8,8 @@ set -Eeuo pipefail source ./vars.env +DEBUG_LEVEL=info + BUILDER_PROPOSALS= # Get options diff --git a/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/vars.env b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/vars.env index 83780b2..081f8f7 100644 --- a/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/vars.env +++ b/stack-orchestrator/container-build/cerc-fixturenet-eth-lighthouse/genesis/cl/vars.env @@ -25,9 +25,7 @@ BOOTNODE_PORT=${BOOTNODE_PORT:-4242} # Hard fork configuration ALTAIR_FORK_EPOCH=${ALTAIR_FORK_EPOCH:-0} -BELLATRIX_FORK_EPOCH=${BELLATRIX_FORK_EPOCH:-0} -CAPELLA_FORK_EPOCH=${CAPELLA_FORK_EPOCH:-0} -DENEB_FORK_EPOCH=${DENEB_FORK_EPOCH:-0} +MERGE_FORK_EPOCH=${MERGE_FORK_EPOCH:-0} # Spec version (mainnet or minimal) SPEC_PRESET=${SPEC_PRESET:-mainnet} @@ -53,6 +51,3 @@ ETH1_TTD=${ETH1_TTD:-`cat $ETH1_GENESIS_JSON | jq -r '.config.terminalTotalDiffi ETH1_DEPOSIT_CONTRACT_ADDRESS=${ETH1_DEPOSIT_CONTRACT_ADDRESS:-`cat $ETH1_CONFIG_YAML | grep 'deposit_contract_address' | awk '{ print $2 }' | sed 's/"//g'`} ETH1_DEPOSIT_CONTRACT_BLOCK=${ETH1_DEPOSIT_CONTRACT_BLOCK:-0x0} SUGGESTED_FEE_RECIPIENT=`cat ../build/el/accounts.csv | head -1 | cut -d',' -f2` - -# --debug-level -DEBUG_LEVEL=${LIGHTHOUSE_DEBUG_LEVEL:-debug} diff --git a/stack-orchestrator/container-build/cerc-go-ethereum/build.sh b/stack-orchestrator/container-build/cerc-go-ethereum/build.sh deleted file mode 100755 index 171d007..0000000 --- a/stack-orchestrator/container-build/cerc-go-ethereum/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -# Build cerc/go-ethereum -source ${CERC_CONTAINER_BASE_DIR}/build-base.sh -docker build -t cerc/go-ethereum:local ${build_command_args} ${CERC_REPO_BASE_DIR}/go-ethereum diff --git a/stack-orchestrator/container-build/cerc-lighthouse/Dockerfile b/stack-orchestrator/container-build/cerc-lighthouse/Dockerfile index de32150..a5559f6 100644 --- a/stack-orchestrator/container-build/cerc-lighthouse/Dockerfile +++ b/stack-orchestrator/container-build/cerc-lighthouse/Dockerfile @@ -1,10 +1,9 @@ -FROM sigp/lighthouse:v5.1.2 +ARG TAG_SUFFIX="-modern" +FROM sigp/lighthouse:v4.3.0${TAG_SUFFIX} -RUN apt-get update && apt-get -y upgrade \ - && apt-get -y install bash netcat curl less jq wget \ - && apt-get clean && rm -rf /var/lib/apt/lists/* +RUN apt-get update; apt-get install bash netcat curl less jq wget -y; -WORKDIR /root +WORKDIR /root/ ADD start-lighthouse.sh . ENTRYPOINT [ "./start-lighthouse.sh" ] diff --git a/stack-orchestrator/container-build/cerc-lighthouse/build.sh b/stack-orchestrator/container-build/cerc-lighthouse/build.sh index 2e9cfe3..cdc9561 100755 --- a/stack-orchestrator/container-build/cerc-lighthouse/build.sh +++ b/stack-orchestrator/container-build/cerc-lighthouse/build.sh @@ -6,4 +6,4 @@ source ${CERC_CONTAINER_BASE_DIR}/build-base.sh # See: https://stackoverflow.com/a/246128/1701505 SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -docker build -t cerc/lighthouse:local ${build_command_args} ${SCRIPT_DIR} +docker build -t cerc/lighthouse:local ${build_command_args} --build-arg TAG_SUFFIX="" ${SCRIPT_DIR} diff --git a/stack-orchestrator/stacks/fixturenet-eth/stack.yml b/stack-orchestrator/stacks/fixturenet-eth/stack.yml index b4b752a..14ee73e 100644 --- a/stack-orchestrator/stacks/fixturenet-eth/stack.yml +++ b/stack-orchestrator/stacks/fixturenet-eth/stack.yml @@ -2,10 +2,8 @@ version: "1.1" name: fixturenet-eth description: "Ethereum Fixturenet" repos: - - git.vdb.to/cerc-io/go-ethereum@v1.11.6-statediff-v5 - git.vdb.to/cerc-io/lighthouse containers: - - cerc/go-ethereum - cerc/lighthouse - cerc/lighthouse-cli - cerc/fixturenet-eth-genesis diff --git a/tests/fixturenet-eth-stack/run-test.sh b/tests/fixturenet-eth-stack/run-test.sh index 9db9d3f..99ac163 100755 --- a/tests/fixturenet-eth-stack/run-test.sh +++ b/tests/fixturenet-eth-stack/run-test.sh @@ -69,7 +69,7 @@ initial_block_number=0 while [ "$initial_block_number" -eq 0 ] && [ $elapsed_time -lt $timeout ]; do sleep 10 log_info "Waiting for initial block..." - initial_block_number=$($SO_COMMAND --stack fixturenet-eth deploy exec foundry "cast block-number") + initial_block_number=$($SO_COMMAND deployment --dir $test_deployment_dir exec foundry "cast block-number") current_time=$(date +%s) elapsed_time=$((current_time - start_time)) done @@ -86,7 +86,7 @@ if [[ $initial_block_number -gt 0 ]]; then while [ "$subsequent_block_number" -le $((initial_block_number + 5)) ] && [ $elapsed_time -lt $timeout ]; do sleep 10 log_info "Waiting for five blocks or $timeout seconds..." - subsequent_block_number=$($SO_COMMAND --stack fixturenet-eth deploy exec foundry "cast block-number") + subsequent_block_number=$($SO_COMMAND deployment --dir $test_deployment_dir exec foundry "cast block-number") current_time=$(date +%s) elapsed_time=$((current_time - start_time)) done @@ -106,7 +106,7 @@ if [[ $block_number_difference -gt 1 && $block_number_difference -lt 100 ]]; the else echo "Test failed: block numbers were ${initial_block_number} and ${subsequent_block_number}" echo "Logs from stack:" - $SO_COMMAND --stack fixturenet-eth deploy logs + $SO_COMMAND deployment --dir $test_deployment_dir logs test_result=1 fi $SO_COMMAND deployment --dir $test_deployment_dir stop --delete-volumes