From bdeef8dcf52dd19b5598335b302a0ec06fded978 Mon Sep 17 00:00:00 2001 From: g11tech <76567250+g11tech@users.noreply.github.com> Date: Thu, 3 Mar 2022 10:48:30 +0530 Subject: [PATCH] Devnet-5 update for setup script (#3821) --- kiln/devnets/devnet3.vars | 15 --------------- kiln/devnets/devnet4.vars | 2 +- kiln/devnets/devnet5.vars | 15 +++++++++++++++ kiln/devnets/kintsugi.vars | 15 --------------- kiln/devnets/setup.sh | 13 +++++++------ kiln/gethdocker/Dockerfile | 3 ++- kiln/gethdocker/README.md | 1 + kiln/gethdocker/common-setup.sh | 4 ++-- kiln/gethdocker/post-merge.sh | 2 +- kiln/gethdocker/pre-merge.sh | 2 +- 10 files changed, 30 insertions(+), 42 deletions(-) delete mode 100644 kiln/devnets/devnet3.vars create mode 100644 kiln/devnets/devnet5.vars delete mode 100644 kiln/devnets/kintsugi.vars diff --git a/kiln/devnets/devnet3.vars b/kiln/devnets/devnet3.vars deleted file mode 100644 index d2ff0c74827f..000000000000 --- a/kiln/devnets/devnet3.vars +++ /dev/null @@ -1,15 +0,0 @@ -DEVNET_NAME=devnet3 - -GETH_IMAGE=parithoshj/geth:merge-eb2f01c -NETHERMIND_IMAGE=nethermindeth/nethermind:kintsugi_v3_0.1 -LODESTAR_IMAGE=chainsafe/lodestar:next - -CONFIG_GIT_DIR=merge-devnet-3 - -LODESTAR_EXTRA_ARGS="--eth1.providerUrls http://127.0.0.1:8545 --execution.urls http://127.0.0.1:8545 api.rest.enabled: true api.rest.host: 0.0.0.0" - -NETHERMIND_EXTRA_ARGS="--config kintsugi --Init.WebSocketsEnabled=true --JsonRpc.Enabled=true --JsonRpc.EnabledModules=net,eth,consensus,engine,subscribe,web3 --JsonRpc.Port=8545 --JsonRpc.WebSocketsPort=8546 --JsonRpc.Host=0.0.0.0 --Network.DiscoveryPort=30303 --Network.P2PPort=30303 --Merge.Enabled=true --Merge.TerminalTotalDifficulty=5000000000 --Init.DiagnosticMode=None" - -GETH_EXTRA_ARGS="--catalyst --http --http.api engine,net,eth --http.port 8545 --ws --ws.api net,eth,engine --ws.port=8546 --ws.addr 0.0.0.0 --allow-insecure-unlock --networkid 1337602 --http.addr 0.0.0.0" - -EXTRA_BOOTNODES="enode://984a51c5c9b2f212e9480b0ea811b62e711271c5928bce2c40857643484dc9474410f5002e34aa95ac48d3f58a1e581b25c592ad50cbf50f871791997c36fd8b@137.184.221.12:30303," diff --git a/kiln/devnets/devnet4.vars b/kiln/devnets/devnet4.vars index d3fbe7d57ff3..631250a984db 100644 --- a/kiln/devnets/devnet4.vars +++ b/kiln/devnets/devnet4.vars @@ -6,7 +6,7 @@ LODESTAR_IMAGE=g11tech/lodestar:kilnv1 CONFIG_GIT_DIR=merge-devnet-4 -LODESTAR_EXTRA_ARGS="--eth1.providerUrls http://127.0.0.1:8545 --execution.urls http://127.0.0.1:8545 api.rest.enabled: true api.rest.host: 0.0.0.0" +LODESTAR_EXTRA_ARGS="--eth1.providerUrls http://127.0.0.1:8545 --execution.urls http://127.0.0.1:8545 --api.rest.enabled --api.rest.host 0.0.0.0" NETHERMIND_EXTRA_ARGS="--config kiln --Init.WebSocketsEnabled=true --JsonRpc.Enabled=true --JsonRpc.EnabledModules=net,eth,consensus,engine,subscribe,web3 --JsonRpc.Port=8545 --JsonRpc.WebSocketsPort=8546 --JsonRpc.Host=0.0.0.0 --Network.DiscoveryPort=30303 --Network.P2PPort=30303 --Merge.Enabled=true --Merge.TerminalTotalDifficulty=5000000000 --Init.DiagnosticMode=None" diff --git a/kiln/devnets/devnet5.vars b/kiln/devnets/devnet5.vars new file mode 100644 index 000000000000..0e98f0f761ca --- /dev/null +++ b/kiln/devnets/devnet5.vars @@ -0,0 +1,15 @@ +DEVNET_NAME=devnet5 + +GETH_IMAGE=parithoshj/geth:merge-59a3672 +NETHERMIND_IMAGE=nethermindeth/nethermind:kiln_0.4 +LODESTAR_IMAGE=chainsafe/lodestar:next + +CONFIG_GIT_DIR=merge-devnet-5 + +LODESTAR_EXTRA_ARGS="--eth1.providerUrls http://127.0.0.1:8545 --execution.urls http://127.0.0.1:8545 --api.rest.enabled --api.rest.host 0.0.0.0" + +NETHERMIND_EXTRA_ARGS="--config kiln --Init.WebSocketsEnabled=true --JsonRpc.Enabled=true --JsonRpc.EnabledModules=net,eth,consensus,engine,subscribe,web3 --JsonRpc.Port=8545 --JsonRpc.WebSocketsPort=8546 --JsonRpc.Host=0.0.0.0 --Network.DiscoveryPort=30303 --Network.P2PPort=30303 --Merge.Enabled=true --Merge.TerminalTotalDifficulty=500000000000 --Init.DiagnosticMode=None" + +GETH_EXTRA_ARGS="--http --http.api engine,net,eth --http.port 8545 --ws --ws.api net,eth,engine --ws.port=8546 --ws.addr 0.0.0.0 --allow-insecure-unlock --networkid 1337762 --http.addr 0.0.0.0" + +EXTRA_BOOTNODES="" diff --git a/kiln/devnets/kintsugi.vars b/kiln/devnets/kintsugi.vars deleted file mode 100644 index f3211e64eb16..000000000000 --- a/kiln/devnets/kintsugi.vars +++ /dev/null @@ -1,15 +0,0 @@ -DEVNET_NAME=kintsugi - -GETH_IMAGE=g11tech/geth:kintsugi-dfa207d -NETHERMIND_IMAGE=nethermindeth/nethermind:kintsugi_0.5 -LODESTAR_IMAGE=chainsafe/lodestar:next - -CONFIG_GIT_DIR=kintsugi - -LODESTAR_EXTRA_ARGS="--eth1.providerUrls http://127.0.0.1:8545 --execution.urls http://127.0.0.1:8545 api.rest.enabled: true api.rest.host: 0.0.0.0" - -NETHERMIND_EXTRA_ARGS="--config kintsugi --Init.WebSocketsEnabled=true --JsonRpc.Enabled=true --JsonRpc.EnabledModules=net,eth,consensus,engine,subscribe,web3 --JsonRpc.Port=8545 --JsonRpc.WebSocketsPort=8546 --JsonRpc.Host=0.0.0.0 --Network.DiscoveryPort=30303 --Network.P2PPort=30303 --Merge.Enabled=true --Merge.TerminalTotalDifficulty=5000000000 --Init.DiagnosticMode=None" - -GETH_EXTRA_ARGS="--catalyst --http --http.api engine,net,eth --http.port 8545 --ws --ws.api net,eth,engine --ws.port=8546 --ws.addr 0.0.0.0 --allow-insecure-unlock --networkid 1337702 --http.addr 0.0.0.0" - -EXTRA_BOOTNODES="enode://c20047e975f562131d0211b1a36f955b821663bd83a69edd725b221b70db0d01320716dd6a45d87e4e8afc1bc53439ff001212a70be0f1064db65c82d7ebbc9d@161.35.67.221:30303,enode://a0b9d5f4bc6a30b36a40e64762471e79b37700cb7ac6560680f6192e3360d34c689cf97ad3787256939152fe9f2b28e7d74d76119a86fed356f9c76d4c6301cb@161.35.67.200:30303," diff --git a/kiln/devnets/setup.sh b/kiln/devnets/setup.sh index 1295d42ef56a..65eee17a670b 100755 --- a/kiln/devnets/setup.sh +++ b/kiln/devnets/setup.sh @@ -15,9 +15,9 @@ nethermindImage=$NETHERMIND_IMAGE if [ ! -n "$dataDir" ] || [ ! -n "$devnetVars" ] || ([ "$elClient" != "geth" ] && [ "$elClient" != "nethermind" ]) then echo "usage: ./setup.sh --dataDir --elClient --devetVars [--dockerWithSudo --withTerminal \"gnome-terminal --disable-factory --\"]" - echo "example: ./setup.sh --dataDir devnet4-data --elClient nethermind --devnetVars ./devnet4.vars --dockerWithSudo --withTerminal \"gnome-terminal --disable-factory --\"" + echo "example: ./setup.sh --dataDir devnet5-data --elClient nethermind --devnetVars ./devnet5.vars --dockerWithSudo --withTerminal \"gnome-terminal --disable-factory --\"" echo "Note: if running on macOS where gnome-terminal is not available, remove the gnome-terminal related flags." - echo "example: ./setup.sh --dataDir devnet4-data --elClient geth --devnetVars ./devnet4.vars" + echo "example: ./setup.sh --dataDir devnet5-data --elClient geth --devnetVars ./devnet5.vars" exit; fi @@ -109,16 +109,17 @@ echo "lodestarImage: $LODESTAR_IMAGE" $dockerExec pull $LODESTAR_IMAGE bootEnr=$(cat $dataDir/$configGitDir/bootstrap_nodes.txt) -#bootEnr=($bootEnr) -#bootEnr=$(IFS=" " ; echo "${bootEnr[*]}") +bootEnr=($bootEnr) +bootEnr=$(IFS=" " ; echo "${bootEnr[*]}") + depositContractDeployBlock=$(cat $dataDir/$configGitDir/deposit_contract_block.txt) clName="$DEVNET_NAME-lodestar" if [ $platform == 'Darwin' ] then - clCmd="$dockerCmd --rm --name $clName --net=container:$elName -v $currentDir/$dataDir/$configGitDir:/config -v $currentDir/$dataDir/lodestar:/data $LODESTAR_IMAGE beacon --rootDir /data --paramsFile /config/config.yaml --genesisStateFile /config/genesis.ssz --network.connectToDiscv5Bootnodes --network.discv5.enabled true --eth1.enabled true --eth1.depositContractDeployBlock $depositContractDeployBlock $LODESTAR_EXTRA_ARGS --network.discv5.bootEnrs ${bootEnr[0]}" + clCmd="$dockerCmd --rm --name $clName --net=container:$elName -v $currentDir/$dataDir/$configGitDir:/config -v $currentDir/$dataDir/lodestar:/data $LODESTAR_IMAGE beacon --rootDir /data --paramsFile /config/config.yaml --genesisStateFile /config/genesis.ssz --network.connectToDiscv5Bootnodes --network.discv5.enabled true --eth1.enabled true --eth1.depositContractDeployBlock $depositContractDeployBlock $LODESTAR_EXTRA_ARGS --network.discv5.bootEnrs $bootEnr" else - clCmd="$dockerCmd --rm --name $clName --network host -v $currentDir/$dataDir/$configGitDir:/config -v $currentDir/$dataDir/lodestar:/data $LODESTAR_IMAGE beacon --rootDir /data --paramsFile /config/config.yaml --genesisStateFile /config/genesis.ssz --network.connectToDiscv5Bootnodes --network.discv5.enabled true --eth1.enabled true --eth1.depositContractDeployBlock $depositContractDeployBlock $LODESTAR_EXTRA_ARGS --network.discv5.bootEnrs ${bootEnr[0]}" + clCmd="$dockerCmd --rm --name $clName --network host -v $currentDir/$dataDir/$configGitDir:/config -v $currentDir/$dataDir/lodestar:/data $LODESTAR_IMAGE beacon --rootDir /data --paramsFile /config/config.yaml --genesisStateFile /config/genesis.ssz --network.connectToDiscv5Bootnodes --network.discv5.enabled true --eth1.enabled true --eth1.depositContractDeployBlock $depositContractDeployBlock $LODESTAR_EXTRA_ARGS --network.discv5.bootEnrs $bootEnr" fi run_cmd "$elCmd" diff --git a/kiln/gethdocker/Dockerfile b/kiln/gethdocker/Dockerfile index eb87fca8814c..e36d4240ce88 100644 --- a/kiln/gethdocker/Dockerfile +++ b/kiln/gethdocker/Dockerfile @@ -3,10 +3,11 @@ FROM golang:1.17-alpine as builder RUN apk add --no-cache gcc musl-dev linux-headers git bash -RUN git clone --depth 1 -b merge-kiln-jwt https://github.com/MariusVanDerWijden/go-ethereum.git /go-ethereum +RUN git clone --depth 1 -b merge-kiln-v2 https://github.com/MariusVanDerWijden/go-ethereum.git /go-ethereum RUN cd /go-ethereum && go run build/ci.go install ./cmd/geth FROM alpine:latest COPY --from=builder /go-ethereum/build/bin/geth /usr/local/bin/ EXPOSE 8545 8546 30303 30303/udp +ENTRYPOINT ["geth"] \ No newline at end of file diff --git a/kiln/gethdocker/README.md b/kiln/gethdocker/README.md index 92643769bdc9..4d5ce62365e1 100644 --- a/kiln/gethdocker/README.md +++ b/kiln/gethdocker/README.md @@ -1,6 +1,7 @@ # Geth Docker setup for running the sim merge tests on local machine ###### Build geth docker image +Or directly use a compatible pre-build image (checkout `./Dockerfile` for the compatible branch of `geth`) ```bash cd kiln/gethdocker diff --git a/kiln/gethdocker/common-setup.sh b/kiln/gethdocker/common-setup.sh index 159faa05962b..659c7bee1aa6 100755 --- a/kiln/gethdocker/common-setup.sh +++ b/kiln/gethdocker/common-setup.sh @@ -17,5 +17,5 @@ pubKey="0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" # echo a hex encoded 256 bit secret into a file echo $JWT_SECRET_HEX> $DATA_DIR/jwtsecret -docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR geth --datadir /data init /data/genesis.json -docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR geth --datadir /data account import /data/sk.json --password /data/password.txt +docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR --datadir /data init /data/genesis.json +docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR --datadir /data account import /data/sk.json --password /data/password.txt diff --git a/kiln/gethdocker/post-merge.sh b/kiln/gethdocker/post-merge.sh index d615759361ce..5458d455e6ef 100755 --- a/kiln/gethdocker/post-merge.sh +++ b/kiln/gethdocker/post-merge.sh @@ -5,4 +5,4 @@ currentDir=$(pwd) . $scriptDir/common-setup.sh -docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) --network host -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR geth --http --ws -http.api "engine,net,eth" --allow-insecure-unlock --unlock $pubKey --password /data/password.txt --datadir /data --jwt-secret $JWT_SECRET_HEX +docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) --network host -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR --http --ws -http.api "engine,net,eth" --allow-insecure-unlock --unlock $pubKey --password /data/password.txt --datadir /data --jwt-secret $JWT_SECRET_HEX diff --git a/kiln/gethdocker/pre-merge.sh b/kiln/gethdocker/pre-merge.sh index dc498388ba2e..8badbd0127e7 100755 --- a/kiln/gethdocker/pre-merge.sh +++ b/kiln/gethdocker/pre-merge.sh @@ -6,4 +6,4 @@ currentDir=$(pwd) . $scriptDir/common-setup.sh # EL_BINARY_DIR refers to the local docker image build from kintsugi/gethdocker folder -docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) --network host -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR geth --http --ws -http.api "engine,net,eth,miner" --allow-insecure-unlock --unlock $pubKey --password /data/password.txt --datadir /data --nodiscover --mine --jwt-secret $JWT_SECRET_HEX +docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) --network host -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR --http --ws -http.api "engine,net,eth,miner" --allow-insecure-unlock --unlock $pubKey --password /data/password.txt --datadir /data --nodiscover --mine --jwt-secret $JWT_SECRET_HEX