* remove web3 url prompt in launcher script The interactive prompt for web3 has outlived its utility as we now load url:s from command line params and config files, preventing the prompt from correctly detecting when it's needed. Also, after the merge, a JWT secret will (likely) be needed. * log notice when web3 url is missing * fix docs to not mention default that doesn't exist * fix scripts to properly quote arguments
4.3 KiB
Run an execution client
In order to be able to produce blocks and process incoming validator deposits, you'll need to run an execution client in together with the beacon node.
Nimbus has been tested all major execution clients - see the execution client comparison for more information.
The --web3-url
option informs the beacon node how to connect to the execution client - both http://
and ws://
URL:s are supported.
Assuming the execution client is running on the same computer as the beacon node:
./run-mainnet-beacon-node.sh --web3-url=ws://127.0.0.1:8546
⚠️ You need to run your own execution client after the merge - relying on third-party services such as Infura, Alchemy and Pocket will not be possible.
Nimbus
In parallel to nimbus-eth2
, we are working hard on the Nimbus execution client. While this is very much a project in development (i.e. not yet ready for public consumption), we welcome you to experiment with it.
Geth
1. Install Geth
See the Installing Geth for instructions on installing Geth.
2. Start Geth
Once you have geth installed, make sure to enable the JSON-RPC WebSocket interface when running geth:
Testnet
geth --goerli --ws
Mainnet
geth --ws
Note: The
--ws
flag is needed to enable the websocket RPC API. This allows Nimbus to query the eth1 chain using Web3 API calls.
3. Leave Geth running
Let it sync - Geth uses snap sync by default. It may take anywhere between a few hours and a couple of days.
N.B. It is safe to run Nimbus and start validating even if Geth hasn't fully synced yet
You'll know Geth has finished syncing, when you start seeing logs that look like the following:
INFO [05-29|01:14:53] Imported new chain segment blocks=1 txs=2 mgas=0.043 elapsed=6.573ms mgasps=6.606 number=3785437 hash=f72595…c13f23
INFO [05-29|01:15:08] Imported new chain segment blocks=1 txs=3 mgas=0.067 elapsed=7.639ms mgasps=8.731 number=3785441 hash=be7e55…a8c1c7
INFO [05-29|01:15:25] Imported new chain segment blocks=1 txs=21 mgas=1.084 elapsed=33.610ms mgasps=32.264 number=3785442 hash=fd54be…79b047
INFO [05-29|01:15:42] Imported new chain segment blocks=1 txs=26 mgas=0.900 elapsed=26.209ms mgasps=34.335 number=3785443 hash=2504ff…119622
INFO [05-29|01:15:59] Imported new chain segment blocks=1 txs=12 mgas=1.228 elapsed=22.693ms mgasps=54.122 number=3785444 hash=951dfe…a2a083
INFO [05-29|01:16:05] Imported new chain segment blocks=1 txs=3 mgas=0.065 elapsed=5.885ms mgasps=11.038 number=3785445 hash=553d9e…fc4547
INFO [05-29|01:16:10] Imported new chain segment blocks=1 txs=0 mgas=0.000 elapsed=5.447ms mgasps=0.000 number=3785446 hash=5e3e7d…bd4afd
INFO [05-29|01:16:10] Imported new chain segment blocks=1 txs=1 mgas=0.021 elapsed=7.382ms mgasps=2.845 number=3785447 hash=39986c…dd2a01
INFO [05-29|01:16:14] Imported new chain segment blocks=1 txs=11 mgas=1.135 elapsed=22.281ms mgasps=50.943 number=3785444 hash=277bb9…623d8c
Geth accepts connections from the loopback interface (127.0.0.1
), with default WebSocket port 8546
. This means that your default Web3 provider URL should be: ws://127.0.0.1:8546
Nethermind
See the Getting started guide to set up Nethermind.
Make sure to enable the JSON-RPC interface over WebSockets.
Besu
See the Besu documentation for instructions on setting up Besu.
Make sure to enable the JSON-RPC WebSocket interface.
Erigon
See the Erigon README for instructions on setting up Erigon.
Make sure to enable the JSON-RPC WebSocket interface.