Step 5: Installing consensus client
Last updated
Last updated
Reminder: Ensure you are logged in and execute all steps in this guide as non-root user, ethereum ,
created during Step 2: Configuring Node.
Your choice of , , , or .
4.1. Install rust dependency
Enter '1' to proceed with the default install.
Update your environment variables.
Install rust dependencies.
4.2. Build Lighthouse from source
Verify lighthouse was installed properly by checking the version number.
Run the following command to import your validator keys from the eth2deposit-cli tool directory.
Enter your keystore password to import accounts.
Verify the accounts were imported successfully.
WARNING: Do not import your validator keys into multiple validator clients and run them at the same time, or you might get slashed. If moving validators to a new setup or different validator client, ensure deletion of the previous validator keys before continuing.
Specific to your networking setup or cloud provider settings, ensure your validator's firewall ports are open and reachable.
Lighthouse consensus client requires port 9000 for tcp and udp
Execution client requires port 30303 for tcp and udp
Create a systemd unit file to define yourbeacon-chain.service
configuration.
Paste the following configuration into the file.
To exit and save, press Ctrl
+ X
, then Y
, thenEnter
.
Update file permissions.
Run the following to enable auto-start at boot time and then start your beacon node service.
Nice work. Your beacon chain is now managed by the reliability and robustness of systemd.
Create a systemd unit file to define your validator.service
configuration.
Paste the following configuration into the file.
Replace0x_CHANGE_THIS_TO_MY_ETH_FEE_RECIPIENT_ADDRESS
with your own Ethereum address that you control. Tips are sent to this address and are immediately spendable, unlike the validator's attestation and block proposal rewards.
To exit and save, press Ctrl
+ X
, then Y
, thenEnter
.
Update file permissions.
Run the following to enable auto-start at boot time and then start your validator.
Nice work. Your validator is now managed by the reliability and robustness of systemd.
🗄 Viewing and filtering logs
Patience required: If you're checking the logs and see any warnings or errors, please be patient as these will normally resolve once both your execution and consensus clients are fully synced to the Ethereum network.
How do I know I'm fully synced?
Check EL logs: journalctl -fu eth1
Check CL logs: journalctl -fu beacon-chain
Subscribe to your Execution Client and Consensus Client's Github repository to be notified of new releases. Hit the Notifications button.
Support us on Gitcoin Grants: We build this guide exclusively by community support!
I stand upon the shoulders of giants and as such, invite you to stand upon mine. Use my work with or without attribution; I make no claim of "intellectual property." My ideas are the result of countless millenia of evolution - they belong to humanity.
4.3. Import validator key
4.4. Configure port forwarding and/or firewall
4.5. Start the beacon chain
Refer to and feel free to pick one of the random state
providers from the list, instead of the above endpointhttps://beaconstate.info
4.6. Start the validator
is a research project and a client implementation for Ethereum 2.0 designed to perform well on embedded systems and personal mobile devices, including older smartphones with resource-restricted hardware. The Nimbus team are from the company best known for by the same name. Nimbus (Apache 2) is written in Nim, a language with Python-like syntax that compiles to C.
4.1. Build Nimbus from source
4.2. Import validator key
4.3. Configure port forwarding and/or firewall
4.4. Start the beacon chain and validator
Refer to and feel free to pick one of the random state
providers from the list, instead of the endpointhttps://beaconstate.info
(formerly known as Artemis) is a Java-based Ethereum 2.0 client designed & built to meet institutional needs and security requirements. PegaSys is an arm of dedicated to building enterprise-ready clients and tools for interacting with the core Ethereum platform. Teku is Apache 2 licensed and written in Java, a language notable for its maturity & ubiquity.
4.1 Build Teku from source
4.2. Configure port forwarding and/or firewall
4.3. Configure the beacon chain and validator
Refer to and feel free to pick one of the random state
providers from the list, instead of the above endpointhttps://beaconstate.info
4.4 Import validator key
4.5. Start the beacon chain and validator
Setup systemd service
is a Go implementation of Ethereum 2.0 protocol with a focus on usability, security, and reliability. Prysm is developed by , a company with the sole focus on the development of their client. Prysm is written in Go and released under a GPL-3.0 license.
4.1. Install Prysm
4.2. Configure port forwarding and/or firewall
4.3. Import validator key
4.4. Start the beacon chain
Setup systemd service
Refer to and feel free to pick one of the random state
providers from the list, instead of the above endpointhttps://beaconstate.info
4.5. Start the validator
Setup systemd service
is a Typescript implementation of the official by the team. In addition to the beacon chain client, the team is also working on 22 packages and libraries. A complete list can be found . Finally, the Lodestar team is leading the Eth2 space in light client research and development and has received funding from the EF and Moloch DAO for this purpose.
4.1 Build Lodestar from source
4.2. Configure port forwarding and/or firewall
4.3. Import validator key
4.4. Start the beacon chain and validator
Refer to and feel free to pick one of the random state
providers from the list, instead of the above endpointhttps://beaconstate.info
4.5. Start the validator
Setup systemd service
View the status of the beacon chain
Restarting the beacon chain
Stopping the beacon chain
View the status of the validator
Restarting the validator
Stopping the validator
Check your execution client's logs and compare the block number against the most recent block on
Check your consensus client's logs and compare the slot number against the most recent slot on
Activation Queue: Once your EL+CL is synced, validator up and running, you just wait for activation. This process can take 24+ hours. Only 900 new validators can join per day. Check the queue length:
Quick monitoring: Use to create alerts and track your validator's performance.
Congrats! You've finished the primary steps of setting up your validator. You're now an Ethereum staker!
Join the to discuss all things staking related.
Familiarize yourself with section, as you'll need to keep your staking node running at its best.
Up your staking understanding with the
Setup
Setup
Setup
Setup for extra staking rewards!
Familiarize yourself with section, as you dive deeper into staking.
Find Ethstaker frens on the Discord and Discord.
Use reddit: , or , or
Audience-funded guide: If you found this helpful,
Feedback or pull-requests: