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 ~/.bashrcDependency - 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.
All active validators will use this endpoint each epoch, so you can expect it to detect all local and active validators within several minutes after start up.
--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
GethandLighthouseconfiguration 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-recipientcan be provided to theBeacon Nodeto act as a default value when the validator client does not transmit asuggested_fee_recipientto theBeacon Node
--checkpoint-sync-url
Used to fast sync the chain rather than starting at genesis.
Only needed for the initial sync, I can remove it after.
--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.
Allows access to all historical data.
--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