For the complete documentation index, see llms.txt. This page is also available as Markdown.

Installation

Lighthouse client installation guide.

Create Aliases

echo "alias lighthouse-version-current='/usr/local/bin/lighthouse --version'" >> ~/.bashrc
echo "alias lighthouse-build='~/lighthouse-build.sh'" >> ~/.bashrc
echo "alias lighthouse-version-new='~/.cargo/bin/lighthouse --version'" >> ~/.bashrc
echo "alias lighthouse-deploy='~/lighthouse-deploy.sh'" >> ~/.bashrc

echo "alias lighthouse-beacon-log='journalctl -f -u lighthousebeacon.service -o cat | ccze -A'" >> ~/.bashrc
echo "alias lighthouse-beacon-start='sudo systemctl start lighthousebeacon.service'" >> ~/.bashrc
echo "alias lighthouse-beacon-stop='sudo systemctl stop lighthousebeacon.service'" >> ~/.bashrc
echo "alias lighthouse-beacon-restart='sudo systemctl restart lighthousebeacon.service'" >> ~/.bashrc
echo "alias lighthouse-beacon-status='sudo systemctl status lighthousebeacon.service'" >> ~/.bashrc
echo "alias lighthouse-beacon-config='sudo vim /etc/systemd/system/lighthousebeacon.service'" >> ~/.bashrc
echo "alias lighthouse-beacon-enable='sudo systemctl enable lighthousebeacon.service'" >> ~/.bashrc
echo "alias lighthouse-beacon-disable='sudo systemctl disable lighthousebeacon.service'" >> ~/.bashrc
echo "alias lighthouse-beacon-delete-data='sudo rm -rf /var/lib/lighthouse/beacon; sudo mkdir -p /var/lib/lighthouse/beacon; sudo chown -R lighthousebeacon:lighthousebeacon /var/lib/lighthouse/beacon'" >> ~/.bashrc

source ~/.bashrc

Dependency - Install Rust

Make sure protoc is installed otherwise the build will fail.

Lighthouse - Install

Build the latest version of Lighthouse.

Move the compiled Lighthouse build to a new directory.

Check version.

Create Lighthouse directory.

Firewall Configuration

Configure the firewall using generic Beacon client UFW settings: UFW Config

Lighthouse BN - Configure Service

Create lighthousebeacon user and set permissions.

Configure Beacon Service Environment Variables.

Configure lighthousebeacon service using the command line flags.

/usr/local/bin/lighthouse bn

Starts the Beacon node.

--network

Name of the chain Lighthouse will sync and follow (e.g. mainnet or goerli).

--datadir

Used to specify a custom root data directory for lighthouse keys and databases.

--port

The TCP/UDP port to listen on for peer discovery.

--http

Enable the RESTful HTTP API server.

  • Disabled by default.

--http-address

Specify the listening address of the server.

--http-port

Specify the listening port of the server.

--metrics

Enable the Prometheus metrics HTTP server.

  • Disabled by default.

--validator-monitor-auto

When the --validator-monitor-auto flag is supplied, any validator which uses the beacon_committee_subscriptions API endpoint will be enrolled for additional monitoring.

--monitoring-endpoint (Not curreclty used)

Enables the monitoring service for sending system metrics to a remote endpoint.

  • This can be used to monitor your setup on certain services (e.g. https://beaconcha.in/user/settings#app).

  • This flag sets the endpoint where the beacon node metrics will be sent.

  • Note: This will send information to a remote server which may identify and associate your validators, IP address, and other personal information.

  • Always use a HTTPS connection and never provide an untrusted URL.

--execution-endpoints

One or more comma-delimited server endpoints for HTTP JSON-RPC connection.

  • If multiple endpoints are given the endpoints are used as fallback in the given order.

--jwt-secrets

The JWT secret is automatically generated when Geth is first run and added to /var/lib/goethereum/

  • This is same location that is pointed to in both the Geth and Lighthouse configuration so that they use the same JWT secret and can talk to each other.

--suggested-fee-recipient

This address receives transaction fees collected from any blocks produced by this node.

  • The --suggested-fee-recipient can be provided to the Beacon Node to act as a default value when the validator client does not transmit a suggested_fee_recipient to the Beacon Node

--checkpoint-sync-url

Used to fast sync the chain rather than starting at genesis.

--builder

Used to query the provided URL during block production for a block payload with stubbed-out transactions.

  • If this request fails, Lighthouse will fall back to the local execution engine and produce a block using transactions gathered and verified locally.

--reconstruct-historic-states

Used to reconstruct the history of the beacon chain when checkpoint sync was used.

--purge-db

Add this flag to delete the existing database.

Start the service and check it's working as expected.

Command Aliases

Lighthouse - Update Scripts

Create Lighthouse build script.

Create Lighthouse deploy script.

Make all scripts executable.

Last updated