Techne Bronze Speedrun (CLI)
Last updated
Last updated
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.
CPU: 4 cores
RAM: 16GB
SSD: 350GB
OS: Ubuntu 24.04
Choose your cluster members and form your cluster members by creating a Splitter contract that splits the execution layer rewards among all operators.
Install Docker.
Exit and re-login.
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.
If you want to redo the whole process, remove the existing charon-distributed-validator-node
folder before re-running the set of commands above.
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 actual Splitter contract address
--operator-enrs
flag with the actual ENR 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.
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
Back up using one of the 2 methods below.
This is the most secure method but requires having SSH access to your server from your laptop's terminal (i.e., after manually adding SSH public keys to your server).
Your .charon folder will now be found on your laptop's Documents
folder. Note that .charon
is a hidden folder so you will not see it being displayed in your file system.
Then, set the following permissions.
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 .env
file in the eth-docker
folder.
Append :lido-obol.yml
in the COMPOSE_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.
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.
Print Obol's Charon logs.
Other monitoring commands under "View Logs" section of the overall ETH Docker page.
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 are Charon Log Dashboard
and Charon Overview
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.
You will receive your monitoring credentials after registrering your cluster with Obol Techne Credentials Progamme and you will need to add it into your ETH Docker configuration.
Open up the obol-prom.yml
file for editing.
Replace the credentials
field with your actual monitoring credentials.
CTRL+O
, ENTER
, CTRL+X
to save and exit.
Copy the contents over into the custom-prom.yml
file that is empty by default but already incorporated in the default ETH Docker configurations.
Then, restart your ETH Docker services.
Make sure to also configure port forwarding on the ports allowed above.