Generate Key Shares
How to Initiate a DKG Ceremony
1. Select Operators
Select your preferred group of operators from the operator registry of the SSV network.
For each chosen operator, you must obtain its network assigned id, operator key and DKG endpoint (which are not provided by the ssv-dkg
tool)
The required Operators data can be collected via the SSV API and SSV Explorer.
Operators data can be supplied to the ssv-dkg
tool as an argument or through a json
file, as shown in the example below:
2. Start DKG Initiator
It is advised launching the tool as a Docker image as it is the most convenient way and only requires to have Docker installed. The team builds a Docker image with every release of the tool.
Caution for Windows Users
Due to Windows operating system's limitation on handling file paths exceeding 260 characters, please verify the length of output file paths to avoid potential issues, as this could render them inaccessible.
All of the necessary configuration information can be provided in a YAML file (referenced as init.yaml
from now on).
With this configuration, a typical configuration file would look like this:
In the config file above, /data/
represents the container's shared volume created by the docker
command itself with the -v
option.
A special note goes to the nonce
field, which represents how many validators the address identified in the owner
parameter has already registered to the ssv.network.
You can keep track of this counter yourself, or you can use the ssv-scanner
tool made available by the SSV team to source it. For more information, please refer to the related user guide or to its SDK documentation page.
Note: For more details on operatorsInfoPath
parameter, head over to the Operators data section above
You can run the tool using the command below, just make sure to substitute <PATH_TO_FOLDER_WITH_CONFIG_FILES>
with the actual folder containing all the files:
You can, of course, change the configuration above to one that suits you better, just be mindful about changing the path references in the docker command and in the init.yaml
file as well.
Make sure to have the most recent image tagged with latest
. You can make sure of that by running the docker pull bloxstaking/ssv-dkg:latest
command.
Ceremony Output Summary
After launching the ssv-dkg
tool as shown above, it will commence a DKG ceremony with the selected operators.
Following the successful completion of the DKG ceremony, several files have been generated and placed in the directory where the command was launched from:
Files:
deposit_data.json
- this file contains the deposit data necessary to perform the transaction on the Deposit contract and activate the validator on the Beacon layerkeyshares.json
- this file contains the keyshares necessary to register the validator on the ssv.networkproof.json
- crucial for resharing your validator to a different set of operators in the future.
Troubleshooting
Last updated