Techne Bronze Speedrun (Launchpad)
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.
Hardware (Holesky)
CPU: 4 cores
RAM: 16GB
SSD: 350GB
OS: Ubuntu 24.04
Install dependencies
Install Docker.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo groupadd docker
sudo usermod -aG docker $USERExit 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.
Register your ENRs
Appoint a cluster leader among your cluster.
The cluster leader will collect the wallet addresses of all members and configure the parameters of your cluster on the Obol Launchpad.
Select Create a cluster with a group >> read, click through, & sign the disclaimers with your wallet
Choose your cluster name and size (4, 7, or 10)
Input the wallet address of each operator
Set validators field to 50 (i.e., generate 50 validator keys)
Select
SPLIT ONLY REWARDSunder Withdrawal Configuration.Set the
Principal Recipientto0x17E6F6270A101dc7687Cc9899889819EeAF8253fbecause we want Obol to fund our testnet validators.Input the wallet addresses and the percentage split of each operator
Deploy 'Split Rewards' Contract(1 transaction) >>Confirm and sign(3 transactions)
Copy the group invite link and share it with your other cluster members.

They will need to accept the cluster configuration, input their respective ENR Public Keys , and then sign a message (2 transactions) with their respective wallet addresses set during the cluster creation step.
DKG Ceremony
Once all members have accepted the cluster configuration, everyone can now proceed to the distributed key generation (DKG) phase.

Each cluster member copies the DKG command generated for them and runs it on their own machine.

Once the DKG ceremony is completed, back up the .charon folder containing the following important files:
charon-enr-private-key
cluster-lock.json
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.
This is an alternative method if you have not set up SSH access to your server from your laptop's terminal. It is less secure as you will expose your files temporarily on your terminal.
Zip up the .charon folder and convert the zipped file into a base64 string. Then print out the resulting contents.
Copy the entire output carefully and save it in a text editor on your laptop.
Clear your terminal and remove the bash history of your server to minimise exposure of these important files
Restoring the files
To restore base64 encoded files, we basically need to reverse the process above.
Convert the base64 string back into a zipped file and then unzip the resulting archive.
The .charon folder will be found in the folder you ran the above command in. Run ls -la to see it.
Then, set the following permissions.
Set up ETH Docker
Each cluster member needs to spin up a "vanilla" validator node.
ETH DockerChanges to note:
Set the
Reward Addressto your cluster's Splitter contract.
Edit the configuration file
Edit the .env file in the eth-docker folder.
Append
:lido-obol.ymlin theCOMPOSE_FILEline.
Example:

Change the
CL_NODEline 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.
ETH DockerGrafana 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 DashboardandCharon 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.
Add Obol monitoring credentials
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.
Securing your device
Firewall Rules
Make sure to also configure port forwarding on the ports allowed above.
Advanced networkingOther Security SOPs
Networking & network securityDevice level security setupExiting your DV
I'm still working on the way to exit for each CL client. For now I only managed to test it successfully with Lodestar & Teku so we will switch to the those CLs before signing the exit messages.
Delete all the validator keyshards currently imported onto validator client and export their slashing protection databases.
Bring down your ETH Docker services.
Open the .env file for editing and switch your CL client to lodestar.yml or teku.yml in the COMPOSE_FILE line.
Bring your ETH Docker back up.
Wait for 15 minutes before re-importing your validator keyshards into the new validator client (comes with the new CL). Note: Select "N" for "Do all keys have the same password.
Then run the following
Support
Donations
If you found this helpful, consider supporting Stakesaurus in one of few ways here!
Last updated



