Search…
⌃K

Get Started

Run a Distributed Validator

This guide outlines the steps required to run a distributed validator via the ssv.network, using the protocol’s smart contracts and developer tools.

Prerequisites

  • An Ethereum validator - generating a validator key and depositing (registration) it to the beacon chain could be done using Ethereum’s official Staking Deposit CLI and their Launchpad.
  • Goerli ETH (<0.1) to cover transaction gas costs on the Goerli testnet (Community members on our discord could assist in obtaining the required amount).
  • Testnet SSV (faucet)

Process Overview

Running a distributed validator is outlined by 3 steps:
  1. 1.
    Select the group of operators to manage your validator.
  2. 2.
    Distribute your validator key to KeyShares.
  3. 3.
    Register your validator to the network.
Process overview

1. Operators Selection

Select your preferred operators from the registry of our networks’ operators - 4 operators are required for each validator.
For each chosen operator, you must fetch its network assigned id and its corresponding key.
The entire operator registry can be viewed via the ssv.network explorer or through the SSV API to get access to the necessary operator ids / keys.
Operator page in ssv.network explorer
Please note that you could always customize and update your validator’s managing operators

2. Key Distribution

To assign the validator operation to your selected operators, you must distribute your validator key to KeyShares.
Use the SSV Key Distributor tools to extract your validator key from your keystore file and distribute them to KeyShares.

3. Network Registration

To signal your operator group to start operating your validator, you must register your validator to the network by broadcasting the registerValidator() transaction to the ssv.network contract:
Parameter
Type
Description
publicKey
bytes
The validator’s public key
operatorIds
unit256[]
List of all operator’s ids which were selected during the “Operators Selection” step.
sharesPublicKeys
bytes[]
List of all KeyShares public keys which were produced during the “Key Distribution” step.
sharesEncrypted
bytes[]
List of all KeyShares private keys which were produced during the “Key Distribution” step.
amount
unit256
Amount of SSV tokens to be deposited as payment (not mandatory). See validator funding to calculate how much funding is needed to run each validator.
You can construct the transaction by yourself or using the payload generated by the SSV Key Distributor tool used in the previous step.
Please note that as SSV is deposited to the contract, you must initially approve the SSV contract address to spend your SSV token prior to the registration transaction.
As an alternative, you can use the webapp interface to onboard and manage your validator.