Running operator with DVT
The page will guide you through setting up vault with DVT cluster.
Last updated
The page will guide you through setting up vault with DVT cluster.
Last updated
Vault should be created in .
Please refrain from manually activating validators through the Staking Launchpad or Etherscan as instructed on Obol/SSV sites. These instructions do not pertain to the Operator setup. Validators will be activated by the Operator once there are sufficient assets in the vault balance.
There are 2 ways to create validator keys:
create keys alone
create keys with a group using Distributed Key Generation (DKG) ceremony
Creating keys alone may be an option if you don't collaborate with anybody. In this case DVT may be used for additional robustness. When using SSV you can fully delegate validator duties to other entities (SSV operators) and do not mind running validators on your own. See and for further instructions if you are creating keys alone.
DKG is more secure and decentralized way because nobody has full control over validator keys. The document below is dedicated to DKG way.
Generate validator keys with a group using DKG ceremony. See .
During cluster setup keep in mind:
withdrawal_address
should equal to vault address
validator fee recipient should equal to address specified in vault details section on the vault page.
Each DVT operator should run Charon instance. Charon is HTTP middleware built by Obol to enable any existing Ethereum validator clients to operate together as part of a distributed validator. Guide from step 1 includes setting up Charon.
Instructions how to run single sidecar for a given DVT operator is below.
DVT sidecar should have access to Obol node directory generated on step 1. Node directory contains cluster lock file and validator keys. In example below ~/node0
is used as node directory.
For Obol there is an option to store validator keys in Remote signer. In this case you should upload validator keys into Remote signer. After that you can move validator keys away from Obol node directory.
Fill .env file with environment variables.
Run sidecar:
Single operator instance should be set up for DVT cluster.
Note, you must send some ETH (or xDAI for Gnosis) to the wallet for gas expenses
There are some changes for DVT case:
Run operator with start-api
command, unlike start
command in default scenario.
Pass --relayer-type=DVT --relayer-endpoint=https://mainnet-dvt-relayer.stakewise.io/
in start-api
options
Pass --deposit-data-path
to provide deposit data file generated during DKG
Run instance for each DVT node in a cluster. Each DVT operator should run his own sidecar instance.
Ensure are satisfied. This includes setting up execution client and consensus client.
Run command. The command creates mnemonic and creates folders structure. Mnemonic will not be used to generate validator keys because validator keys are already created by DVT tools (step 1). Mnemonic may be used for creating wallet (see below).
Run the command to create your hot wallet using your mnemonic (note, this mnemonic can be the one generated on step 4.1, or a new mnemonic if you desire).
DKG ceremony produces deposit data file in addition to keystores. See for uploading this file to Vault.
See .