Beaconcha.in website settings
1) Go to https://holesky.beaconcha.in on your browser and sign up for an account.
2) Download the beaconcha.in app on your mobile phone.
3) Once you are logged in, click on your User icon on the top right corner and select "Settings".
Click on the "Mobile App" tab and select "Desktop" as the Architecture option.
Select your consensus layer client from the list and copy the resulting flag with your own unique API key. As you can see, I have redacted my API key below and you should also make sure not to reveal yours.
Validator node settings
Next, you will SSH into your validator node and add this flag into your Teku (or other CL) client.
Once you are logged in to your validator node, run the following command to open the configuration file of your Teku Beacon Node:
Copy sudo nano /etc/systemd/system/tekubeacon.service
Add in the flag you copied earlier into the configuration file.
Copy [Unit]
Description = Teku Beacon Node (Holesky)
Wants = network-online.target
After = network-online.target
[Service]
User = teku
Group = teku
Type = simple
Restart = always
RestartSec = 5
Environment = "JAVA_OPTS=-Xmx6g"
Environment = "TEKU_OPTS=-XX:-HeapDumpOnOutOfMemoryError"
ExecStart = /usr/local/bin/teku/bin/teku \
--network=holesky \
--data-path=/var/lib/teku \
--ee-endpoint=http://127.0.0.1:8551 \
--ee-jwt-secret-file=/var/lib/jwtsecret/jwt.hex \
--initial-state=https://beaconstate.ethstaker.cc \
--metrics-enabled=true \
--rest-api-enabled=true \
--builder-endpoint=http://127.0.0.1:18550 \
--validators-builder-registration-default-enabled=true \
--metrics-publish-endpoint 'https://beaconcha.in/api/v1/client/metrics?apikey=<your_API_key>
[Install]
WantedBy=multi-user.target
Press CRTL + O
, ENTER
, then CTRL + X
to save and exit.
Next, do the same for the Teku validator client.
Copy sudo nano /etc/systemd/system/tekuvalidator.service
Add in the same flag you copied earlier into the configuration file.
Copy [Unit]
Description=Teku Validator Client (Holesky)
Wants=network-online.target
After=network-online.target
[Service]
User=teku
Group=teku
Type=simple
Restart=always
RestartSec=5
Environment="JAVA_OPTS=-Xmx6g"
Environment="TEKU_OPTS=-XX:-HeapDumpOnOutOfMemoryError"
ExecStart=/usr/local/bin/teku/bin/teku vc \
--network=holesky \
--data-path=/var/lib/teku \
--validators-external-signer-public-keys=<validator pubkeys> \
--validators-external-signer-url=http://<external_signer_IP_address> \
--beacon-node-api-endpoint=http://localhost:5051,http://<backup_beacon_node>:<http/rest_port_number> \
--validators-proposer-default-fee-recipient=<designated wallet address> \
--validators-proposer-blinded-blocks-enabled=true\
--validators-graffiti="<yourgraffiti>" \
--metrics-enabled=true \
--doppelganger-detection-enabled=true \
--metrics-publish-endpoint 'https://beaconcha.in/api/v1/client/metrics?apikey=<your_API_key>
[Install]
WantedBy=multi-user.target
Press CRTL + O
, ENTER
, then CTRL + X
to save and exit.
Reload the systemd daemon, then restart the Teku beacon node and Teku validator client service. Check that both services are “active (running)”.
Copy sudo systemctl daemon-reload
sudo systemctl restart tekubeacon.service tekuvalidator.service
sudo systemctl status tekubeacon.service tekuvalidator.service
Monitor the journal logs of each service for any error messages.
Copy sudo journalctl -fu tekubeacon -o cat | ccze -A
For Teku Validator Client:
Copy sudo journalctl -fu tekuvalidator -o cat | ccze -A
Beaconcha.in App settings
Open up the Beaconcha.in mobile up and play around with it:
1st tab - Summary of validators in your watchlist
2nd tab - Search for your Validator ID or public key and check the flag on the right to add it to your watchlist
3rd tab - View more device level diagnostics like CPU, RAM, disk space, networking throughput, peer count etc
4th tab - Configure your notification preferences for your validator on the settings