SSV Setup
The below is a quick walkthrough on how to setup validators on StakeWise V3 that run on SSV.
Last updated
The below is a quick walkthrough on how to setup validators on StakeWise V3 that run on SSV.
Last updated
DVT networks like SSV enable to run ethereum validators in a decentralized way by splitting the validator keys between independent operators. SSV is built as a permissionless DVT network in which anyone can become a DVT node operator, and be included in clusters (a set of operators responsible for operating an ethereum validator).
Ensure Docker is running.
You can use the for that. After registration run SSV Node.
The most secure way to run your Operator node, is to generate an Encrypted key pair. This way, your Public Key (PK) and Secret Key (SK) will be encrypted with a password of your choosing.
Password file
You will need to create a file (named password
in this example) containing the password you chose for your Secret Key:
Key pair generation and encryption
The node Docker image will generate keys for you, then encrypt them with a password you provide, using the following command:
Here is an example of the generated file.
Create Configuration File
Copy the following config.yaml
file, just be sure to replace all the placeholders (ETH2_NODE
, ETH1_WEBSOCKET_ADDRESS
, OPERATOR_SECRET_KEY
, etc.) with actual values.
In particular, substitute ENCRYPTED_PRIVATE_KEY_JSON
with the operator encrypted private key file generated above (e.g. encrypted_private_key.json
) and PASSWORD_FILE
with the file containing the password used to generate the encrypted key itself.
Start the Node using Docker
Do not run multiple instances of SSV Node with the same set Operator keys.
This does not increase validator resiliency and could lead to validator slashing.
Now, for the part you've been waiting for... actually starting your SSV node!
To start your node, run the following Docker command in the same folder you created the config.yaml
file in the previous step:
When you set up your firewall on your SSV node machine, make sure to expose the ports that you set in the container creation command. The defaults are 12001 UDP and 13001 TCP.
If you don't want to use the default ports, they can be changed in your config.yaml
file. Be aware, the must be changed on the container creation command as well (simply changing the host port mappings on the Docker command isn't enough!).
You can also add your HostAddress
to the config, which is the public static IP address of the machine.
Offline Key Splitting
Generate keyshared:
You can select the operational runway period of your validator, in accordance with the Yearly Fee of previously selected operators. This will dictate the initial amount of SSV to be deposited in the cluster, but it can always be managed later.
The following screen alerts you of the potential dangers of registering a validator on the SSV network, if the same set of validator keys is also being used by other consensus and validator clients.
Please make sure to stop any other running validator setup, if you have any.
The next screen presents a summary of your validator setup.
By clicking on Register validator(s), you'll be proposed to sign transactions to confirm your choice and transfer the SSV balance necessary to cover for the operational costs.
For more info check SSV docs:
Offline key splitting is the most secure option, although less convenient, as it requires running a command line tool. For more information, refer to the specific .
Before continue download
The latest SSV Smart Contract updates added support for , and the latest release ofssv-keys
has been made compatible with bulk operations. With version 1.1.0 (and above), it is possible to generate keyshares for multiple keystores in a single operation.
Please read carefully and understand how fees are managed and the risks of account if your account balance falls below the .