Techne Bronze Speedrun (CLI)
Requirements
Obol Techne Bronze Credentials require node operators to run 50 testnet validator keys as a distributed validator cluster for 3 weeks, where Obol will fund the testnet ETH required to activate the validator keys.
Obol encourages DVT operators to contribute 1% of their staking rewards to their retroactive funding program (RAF) which supports the decentralisation of Ethereum. This CLI flow bypasses the RAF mechanism so only use this method if really needed.
Hardware (Holesky)
CPU: 4 cores
RAM: 16GB
SSD: 350GB
OS: Ubuntu 24.04
Set up Splitter contract
Choose your cluster members and form your cluster members by creating a Splitter contract that splits the execution layer rewards among all operators.
Install dependencies
Install Docker.
Exit and re-login.
Generate your Obol ENR
You should expect to see a console output like this:
Save the ENR public key
in a text file on your laptop. You will need to use this in the next section.
The ENR public key
is denoted as enr:-JG4QGQpV4qYe32QFUAbY1UyGNtNcrVMip83cvJRhw1brMslPeyELIz3q6dsZ7GblVaCjL_8FKQhF6Syg-O_kIWztimGAYHY5EvPgmlkgnY0gmlwhH8AAAGJc2VjcDI1NmsxoQKzMe_GFPpSqtnYl-mJr8uZAUtmkqccsAx7ojGmFy-FY4N0Y3CCDhqDdWRwgg4u
in the example output above.
Restarting from scratch
If you want to redo the whole process, remove the existing charon-distributed-validator-node
folder before re-running the set of commands above.
Create the Cluster Definition file
Appoint a cluster leader among your cluster.
The cluster leader will collect everyone's ENR public key
and run the following command.
Replace:
--name
flag with your choice of name for your cluster--fee-recipient-addresses
flag with your cluster's actualSplitter contract address
--operator-enrs
flag with the actualENR public key
of your cluster members
Keep the --withdrawal-addresses flag
as is because we want Obol to fund our testnet validators.
A cluster-definition.json
file will be generated and saved in the ~/.charon
directory.
Distribute this cluster-definition.json
file to each cluster member to place within their own ~/.charon
directories.
You can use any messaging app for this because only the public part of the ENR key is exposed in this file.
Run the DKG ceremony
All cluster members need to run the DKG service within 30 minutes of one another and keep it running until the ceremony is complete.
Once the DKG ceremony is completed, back up the .charon
folder containing the following important files:
charon-enr-private-key
cluster-lock.json
cluster-definition.yml
validator_keys/
deposit-data.json
Then, set the following permissions.
Set up ETH Docker
Each cluster member needs to spin up a "vanilla" validator node.
Changes to note:
Set the
Reward Address
to your cluster's Splitter contract.
Edit the configuration file
Edit the .env
file in the eth-docker
folder.
Append
:lido-obol.yml
in theCOMPOSE_FILE
line.
Example:
Change the
CL_NODE
line to http://charon:3600 (from http://consensus:5052)
Example:
CTRL+O
, ENTER
, CTRL+X
to save and exit.
Start your Obol-enabled validator node
Migrate .charon contents into ETHDocker.
Start ETH Docker.
After all your services running via Docker "warmed up" for ~5 minutes, import your validator key shards.
Monitoring Charon
Print Obol's Charon logs.
Other monitoring commands under "View Logs" section of the overall ETH Docker page.
Grafana Dashboards
Open up a browser webpage and enter the following URL.
Enter "admin" for both the username and password.
Navigate to
Dashboards
. The 2 most common dashboards when running Obol DVTs areCharon Log Dashboard
andCharon Overview
Register your cluster for funding
Cluster leader to fill up the Obol Techne Credentials registration form here.
Copy and paste the cluster-lock.json
and deposit-data.json
files from your node to a text editor your laptop so that you can upload them easily onto the form.
Securing your device
Firewall Rules
Other Security SOPs
Support
Donations
If you found this helpful, consider supporting Stakesaurus in one of few ways here!
Last updated