This page will take you through how to set up a
systemd service for your beacon node.
Systemd is used in order to have a command or program run when your device boots (i.e. add it as a service). Once this is done, you can start/stop enable/disable from the linux prompt.
systemdis a service manager designed specifically for Linux. There is no port to Mac OS. You can get more information from https://www.raspberrypi.org/documentation/linux/usage/systemd.md or https://fedoramagazine.org/what-is-an-init-system/
⚠️ If you wish to run the service with metrics enabled, you'll need to replace
--metrics:onin the service file below. See here for more on metrics.
systemd service unit file --
nimbus-eth2-prater.service -- and save it in
/lib/systemd/system/ (your Linux distribution might recommend another default - for example archlinux recommends
The contents of the file should look like this:
[Unit] Description=Nimbus beacon node [Service] WorkingDirectory=<BASE-DIRECTORY> ExecStart=<BASE-DIRECTORY>/build/nimbus_beacon_node \ --non-interactive \ --network=prater \ --data-dir=build/data/shared_prater_0 \ --web3-url=<WEB3-URL> \ --rpc:on \ --metrics:off User=<USERNAME> Group=<USERNAME> Restart=always [Install] WantedBy=default.target
Where you should replace:
<BASE-DIRECTORY> with the location of the
nimbus-eth2 repository on your device.
<USERNAME> with the username of the system user responsible for running the launched processes.
<WEB3-URL> with the WebSocket JSON-RPC URL you are planning to use.
N.B. If you're running Nimbus on a Pi, your
If you want to run on mainnet, simply replace all instances of
sudo systemctl daemon-reload
sudo systemctl enable nimbus-eth2-prater --now
sudo journalctl -u nimbus-eth2-prater.service
This will show you the Nimbus logs at the default setting -- it should include regular "slot start" messages which will show your sync progress.
To rewind logs - by one day, say - run:
sudo journalctl -u nimbus-eth2-prater.service --since yesterday
For more options, see here.