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 SSV UI 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.
Pay close attention to the publicKey field, as the name says, it contains the public key, which is needed to register the Operator on the ssv.network.
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.
Make sure your ETH1Addr
endpoint is communicating over WebSocket and not over HTTP in order to support subscriptions and notifications.
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:
This command will keep the terminal busy, showing the container's logs. It is useful to make sure that the node start up sequence runs correctly.
You can detach the terminal at any time by hitting Ctrl-c
key combination, or closing the terminal itself. The node will be stopped, but it will restart automatically, thanks to the --restart unless-stopped
startup parameter.
If you are sure that the node works, and don't care about the logs, you can add the -d
parameter right after docker run
.
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
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 User Guide on how to use the ssv-keys CLI tool.
Before continue download ssv-keys
The latest SSV Smart Contract updates added support for bulk operations, 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.
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.
Please read carefully and understand how fees are managed and the risks of account liquidation if your account balance falls below the Threshold Balance.
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.
Note: If this is the first time you are registering a validator to ssv.network, you will be required to make two transactions - one to approve the SSV smart contract and another one to register the validator.
For more info check SSV docs: