Lighthouse
Installing and configuring the Lighthouse Beacon Node.
Lighthouse
Lighthouse is a leading Ethereum consensus client developed by Sigma Prime. It is written in Rust, making it highly secure and performant. It is a favorite among institutional operators for its stability and low resource footprint.
🛡️ Role: This service runs the Beacon Node. It connects to your Execution Client (e.g., Geth/Nethermind) to verify blocks and maintain synchronization with the Proof-of-Stake chain.
1. Download & Install
We will download the latest stable binary from the official Sigma Prime repository.
A. Create the Application Directory
Bash
# Create a folder for the binary
sudo mkdir -p /usr/local/lib/lighthouse
# Download the latest Linux release (Check https://github.com/sigp/lighthouse/releases)
# Example for v5.3.0:
sudo wget https://github.com/sigp/lighthouse/releases/download/v5.3.0/lighthouse-v5.3.0-x86_64-unknown-linux-gnu.tar.gz -O lighthouse.tar.gz
# Extract the archive
sudo tar -xvzf lighthouse.tar.gz -C /usr/local/lib/lighthouse
# Cleanup
rm lighthouse.tar.gzB. Set Permissions Ensure the ethereum user owns the directory and the binary is executable.
Bash
sudo chown -R ethereum:ethereum /usr/local/lib/lighthouse
sudo chmod +x /usr/local/lib/lighthouse/lighthouse2. Configure Systemd Service
We will configure Lighthouse to run as a background service.
⚡ Pro Tip: Checkpoint Sync Just like Prysm, Lighthouse supports syncing in minutes using a trusted checkpoint. We have included the
--checkpoint-sync-urlflag below.
Create the service file:
Bash
sudo nano /etc/systemd/system/lighthouse.servicePaste the following configuration:
Ini, TOML
[Unit]
Description=Lighthouse Consensus Client
After=network.target
[Service]
User=ethereum
Group=ethereum
Type=simple
Restart=always
RestartSec=5
# Execution Command
ExecStart=/usr/local/lib/lighthouse/lighthouse bn \
--network mainnet \
--datadir /home/ethereum/consensus \
--execution-endpoint http://localhost:8551 \
--execution-jwt /home/ethereum/jwt/jwt.hex \
--checkpoint-sync-url https://beaconstate.info \
--http \
--http-address 0.0.0.0 \
--http-port 5052 \
--metrics \
--metrics-address 0.0.0.0 \
--metrics-port 5054
# Resource Limits
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target🔍 Flag Explanation:
bn: Tells Lighthouse to run in "Beacon Node" mode.--execution-endpoint: The connection to Geth/Nethermind/Besu.--http: Enables the REST API (Essential for checking sync status).--metrics: Enables Prometheus metrics (Useful for Grafana dashboards).
3. Start the Service
Reload the systemd daemon and start the beacon node.
Bash
# Reload systemd configuration
sudo systemctl daemon-reload
# Enable Lighthouse to start on boot
sudo systemctl enable lighthouse
# Start the service
sudo systemctl start lighthouse4. Verify Status
Check the logs to ensure Lighthouse is syncing and connected to the Execution Layer.
Bash
sudo journalctl -fu lighthouseExpected Output:
Connection:
Connected to execution engine(Success! It found your EL).Sync:
Starting checkpoint syncfollowed quickly bySynced.Peers:
Peers connected: 50indicates a healthy network connection.
📝 Note: Lighthouse logs are very readable. If you see "INFO Synced", your node is fully operational and following the head of the chain.
Last updated