Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interop Shapella/Withdrawals Tracking Issue #2491

Closed
holgerd77 opened this issue Jan 19, 2023 · 3 comments
Closed

Interop Shapella/Withdrawals Tracking Issue #2491

holgerd77 opened this issue Jan 19, 2023 · 3 comments

Comments

@holgerd77
Copy link
Member

holgerd77 commented Jan 19, 2023

Tracking issue for the EthereumJS Client joining the Shapella/Withdrawal related Interop test networks (see milestone docs).

EthereumJS branch used: master

EIP Implementations

EIP implementations for the upcoming Shanghai hardfork.

Manual EthereumJS Client Installation

  1. Node.js (v18 recommended) and npm need to be installed, see e.g. npm docs
  2. Clone the EthereumJS monorepo with git clone https://github.com/ethereumjs/ethereumjs-monorepo.git
  3. Run npm i from the root folder to install dependencies and build
  4. Now the client can be run from the packages/client folder with npm run client:start
  5. Run npm run client:start -- --help for help on the CLI parameters

Withdrawal Devnet 4

https://withdrawal-devnet-4.ethpandaops.io

withdrawal-devnet-4, started Wednesday, January 25, 2023, 8:30 UTC
EIP-4895 + Withdrawal Harmonization (Gwei) (see specs), no other Shanghai EIPs activated

EthereumJS Setup

Use manual install from above or Docker image from here (note that the Docker image might lagging behind on latest changes or fixes).

We assume working from the packages/client folder within the EthereumJS monorepo with a cloned EthPandaOps withdrawals-testnet repo, a directory wd4 symlinked to the config (ln -s ./withdrawals-testnet/withdrawal-devnet-4/ wd4) folder for easier reference, and a dedicated subdirectory for each client combination runs for the client data. The following instructions give a summary:

cd packages/client
git clone https://github.com/ethpandaops/withdrawals-testnet
mkdir wd4
cd wd4
ln -s ../withdrawals-testnet/withdrawal-devnet-4/custom_config_data config
mkdir [CLIENT_COMBINATION_DATA_DIRECTORY] // e.g. mkdir ethjs_lodestar

Run the EthereumJS Client with the following command (from packages/client, so cd one above):

npm run client:start -- --dataDir=wd4/ethjs_lodestar/el_data \
--gethGenesis=wd4/config/genesis.json \
--rpc --rpcEngine \
--bootnodes=enode://7359fc265dfdef1ea136b7da724a746a3af7e7b5322b9d0fb7f98bbb9e93fc53600312c265f0b8401d771f115ca4a567d09c7fbdb80d0d3b614b17dd4ac751e8@146.190.21.166:30303

Note: We aligned EthereumJS client CLI option spelling to lowerCaseStartingCamelCase during a PR merge on 2023-01-24, please make sure to run latest master for the above command to work! (To check on your installation run the npm run client:start -- --help command and e.g. check on the --loglevel -> --logLevel change.)

For a more verbose debugging level, you can add --logLevel=debug for a deeper level of normal log messages and additionally --rpcDebug for a (very verbose) RPC debugging.

CL Client Setups

Lodestar

Install Lodestar from source following these docs.
An installation of the lodestar directory parallel to the ethereumjs-monorepo directory is assumed and symlink wd4 within the lodestar directory to the EthereumJS wd4 directory.

cd lodestar
ln -s ../ethereumjs-monorepo/packages/client/wd4 wd4

Run Lodestar with:

./lodestar beacon \
  --dataDir=wd4/ethjs_lodestar/cl_data \
  --paramsFile=wd4/config/config.yaml \
  --genesisStateFile=wd4/config/genesis.ssz \
  --execution.urls=http://localhost:8551 \
  --jwt-secret=wd4/ethjs_lodestar/el_data/jwtsecret  \
  --network.connectToDiscv5Bootnodes \
  --bootnodes="enr:-Iq4QMCTfIMXnow27baRUb35Q8iiFHSIDBJh6hQM5Axohhf4b6Kr_cOCu0htQ5WvVqKvFgY28893DHAg8gnBAXsAVqmGAX53x8JggmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCIyk,enr:-Ly4QPqATloC2-lrv-P26WQ6kmFQj3v1-Ss-N0Z12piMmdXiQsgPy3Wihr_pPJKpMK-dJifbzIR0LYzVTqhWqZjCByABh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDN1qioQAAAQRQAAAAAAAAAgmlkgnY0gmlwhJK-FaaJc2VjcDI1NmsxoQP4H8gVZIpu_490Zdb1YX2R9wqYLkMztg0zHM8j3295CohzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA"
@jochem-brouwer
Copy link
Member

Updated OP to work with d336153

@holgerd77 holgerd77 changed the title Interop Shapella Tracking Issue Interop Shapella/Withdrawals Tracking Issue Jan 24, 2023
@holgerd77
Copy link
Member Author

holgerd77 commented Feb 10, 2023

Just dropping here: these adopted start commands work for the Zhejiang testnet:

npm run client:start -- --dataDir=zd/ethjs_lodestar/el_data \
--gethGenesis=zd/config/genesis.json \
--rpc --rpcEngine \
--bootnodes=enode://691c66d0ce351633b2ef8b4e4ef7db9966915ca0937415bd2b408df22923f274873b4d4438929e029a13a680140223dcf701cabe22df7d8870044321022dfefa@64.225.78.1:30303,enode://89347b9461727ee1849256d78e84d5c86cc3b4c6c5347650093982b726d71f3d08027e280b399b7b6604ceeda863283dcfe1a01e93728b4883114e9f8c7cc8ef@146.190.238.212:30303
./lodestar beacon \
  --dataDir=zd/ethjs_lodestar/cl_data \
  --paramsFile=zd/config/config.yaml \
  --genesisStateFile=zd/config/genesis.ssz \
  --execution.urls=http://localhost:8551 \
  --jwt-secret=zd/ethjs_lodestar/el_data/jwtsecret  \
  --network.connectToDiscv5Bootnodes \
  --bootnodes="enr:-Iq4QMCTfIMXnow27baRUb35Q8iiFHSIDBJh6hQM5Axohhf4b6Kr_cOCu0htQ5WvVqKvFgY28893DHAg8gnBAXsAVqmGAX53x8JggmlkgnY0gmlwhLKAlv6Jc2VjcDI1NmsxoQK6S-Cii_KmfFdUJL2TANL3ksaKUnNXvTCv1tLwXs0QgIN1ZHCCIyk,enr:-Ly4QOS00hvPDddEcCpwA1cMykWNdJUK50AjbRgbLZ9FLPyBa78i0NwsQZLSV67elpJU71L1Pt9yqVmE1C6XeSI-LV8Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhEDhTgGJc2VjcDI1NmsxoQIgMUMFvJGlr8dI1TEQy-K78u2TJE2rWvah9nGqLQCEGohzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA,enr:-MK4QMlRAwM7E8YBo6fqP7M2IWrjFHP35uC4pWIttUioZWOiaTl5zgZF2OwSxswTQwpiVCnj4n56bhy4NJVHSe682VWGAYYDHkp4h2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhJK-7tSJc2VjcDI1NmsxoQLDq7LlsXIXAoJXPt7rqf6CES1Q40xPw2yW0RQ-Ly5S1YhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA,enr:-MS4QCgiQisRxtzXKlBqq_LN1CRUSGIpDKO4e2hLQsffp0BrC3A7-8F6kxHYtATnzcrsVOr8gnwmBnHYTFvE9UmT-0EHh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhKXoVKCJc2VjcDI1NmsxoQK6J-uvOXMf44iIlilx1uPWGRrrTntjLEFR2u-lHcHofIhzeW5jbmV0c4gAAAAAAAAAAIN0Y3CCIyiDdWRwgiMo,enr:-LK4QOQd-elgl_-dcSoUyHDbxBFNgQ687lzcKJiSBtpCyPQ0DinWSd2PKdJ4FHMkVLWD-oOquXPKSMtyoKpI0-Wo_38Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDuKNezAAAAckYFAAAAAAAAgmlkgnY0gmlwhES3DaqJc2VjcDI1NmsxoQNIf37JZx-Lc8pnfDwURcHUqLbIEZ1RoxjZuBRtEODseYN0Y3CCIyiDdWRwgiMo,enr:-KG4QLNORYXUK76RPDI4rIVAqX__zSkc5AqMcwAketVzN9YNE8FHSu1im3qJTIeuwqI5JN5SPVsiX7L9nWXgWLRUf6sDhGV0aDKQ7ijXswAAAHJGBQAAAAAAAIJpZIJ2NIJpcIShI5NiiXNlY3AyNTZrMaECpA_KefrVAueFWiLLDZKQPPVOxMuxGogPrI474FaS-x2DdGNwgiMog3VkcIIjKA"

@acolytec3
Copy link
Contributor

We should be able to close this. We're Shapella compliant at this point and moving in to Dencun.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants