Lighthouse BN
Download Lighthouse
Download the latest version of Lighthouse and run the checksum verification process to ensure that the downloaded file has not been tampered with.
Run the checksum verification process.
Verify the release signing key (--recv-keys
) in the first command above in the releases page here.
Each downloadable file comes with it's own checksum. Replace the actual checksum and URL of the download link in the code block above.
Make sure to choose the amd64 version. Right click on the linked text and select "copy link address" to get the URL of the download link to curl
.
Expected output: Verify output of the checksum verification.
If checksum is verified, extract the files and move them into the (/usr/local/bin)
directory for neatness and best practice. Then, clean up the duplicated copies.
Configure the Lighthouse Consensus Client
We will be running the consensus client and validator client of Lighthouse as separate services so that there is more flexibility to configure a failover node for maximum uptime when you decide it is needed.
Create an account (lighthouse
) without server access for the Lighthouse Consensus Client & Validator Client to run as a background service. This type of user account will not have root access so it restricts potential attackers to only the Lighthouse Consensus Client & Validator Client services in the unlikely event that they manage to infiltrate via a compromised client update.
Create a directory for Lighthouse to store the blockchain and validator data of the Consensus layer. Move the validator_keys
directory into this folder. Then set the owner of this directory to the lighthouse
so that this user can read and write to the directory.
If there are no errors, create a systemd configuration file for the Lighthouse Consensus Client service to run in the background.
Paste the configuration parameters below into the file:
Once you're done, save with Ctrl+O
and Enter
, then exit with Ctrl+X
. Understand and review your configuration summary below, and amend if needed.
Lighthouse Consensus Client configuration summary:
--network
: Run the Consensus Client service on the ETH Holesky testnet--datadir
: Specify the directory for Lighthouse to store data related to the consensus client--execution-endpoint
: URL to connect to the execution layer client--execution-jwt
: File path to locate the JWT secret we generated earlier--checkpoint-sync-url
: Enables nearly instant syncing of the Consensus Client by pointing to one of the checkpoint sync URLs here - https://eth-clients.github.io/checkpoint-sync-endpoints/--metrics
: Enable monitoring of Consensus Client metrics--metrics-port
: Port to connect to the metrics server. Used by Prometheus & Grafana for monitoring.--validator-monitor-auto
: Provides additional logging and metrics for locally controlled validators--port:
Sets the port for peer-to-peer communication. Defaults to 9000.--http
: Allows the validator client to connect to this consensus client. Also allows monitoring endpoints to pull metrics from this service--http-port
: Sets the port to connect to the consensus client--http-address
: Sets the IP address to connect to the REST API of the consensus client that will be used by the DVT clients. Use the internal IP address of your device here (check by runningip a
) - e.g.192.168.x.x
. Defaults to127.0.0.1
otherwise--builder
: URL to connect to external builders (e.g. MEV relays)
Start the Lighthouse Consensus Client
Reload systemd to register the changes made, start the Lighthouse Consensus Client service, and check its status to make sure its running.
Expected output: The output should say Lighthouse Consensus Client is “active (running)”. Press CTRL-C
to exit and Lighthouse Consensus Client will continue to run. It should take just a few minutes for Lighthouse to sync on Holesky.
Use the following command to check the logs of Lighthouse Consensus Client’s syncing process. Watch out for any warnings or errors.
Expected output:
Press Ctrl+C
to exit monitoring.
If the Lighthouse Consensus Client service is running smoothly, we can now enable it to fire up automatically when rebooting the system.
Verify the Initial State roots (Checkpoint Sync)
Go to https://holesky.beaconcha.in/ on your browser and search for the slot number (
slot
).Verify the
Block Root
andState Roo
t with yourjournalctl
outputjournalctl
output
Resources
Documentation: https://lighthouse-book.sigmaprime.io/intro.html
Last updated