Generate Key Shares
Prerequisites
- Operator Data: the selected operator IDs and a current operators info file with DKG metadata
- Command or Config: the required command or YAML configuration details
- Installation secured: a machine with Docker installed OR ssv-dkg built locally from source
Outdated or incomplete operator metadata can block ceremony startup. A stale endpoint, missing RSA public key, or mismatched DKG metadata can cause validation to fail before the ceremony begins.
Check operator health
Run a healthcheck using the same operators info JSON file you plan to use for the ceremony:
docker run --rm -v ${PWD}:/ssv-dkg/data/ -it "ssvlabs/ssv-dkg:latest" ping --operatorsInfoPath ./data/operators_info.jsonIf signed healthchecks fail, fix the operator metadata in your operators info file first. The ceremony will not start successfully with stale or mismatched operator identity data.
Generate Key Shares
- YAML configuration
- Command-line flags
Use the YAML configuration created on the previous step. Edit the following command and run in your CLI:
docker run --rm -v ${PWD}:/ssv-dkg/data/ -it "ssvlabs/ssv-dkg:latest" init --configPath ./data/config.yamlTo start a DKG ceremony, run the init command below.
Example with --compounding enabled:
docker run --rm -v ${PWD}:/ssv-dkg/data/ -it "ssvlabs/ssv-dkg:latest" init --owner 0x... --nonce 0 --withdrawAddress 0x... --compounding --operatorIDs [1,2,3,4] --operatorsInfoPath ./data/config/operators_info.json --network hoodi --tlsInsecure --validators 1 --outputPath ./data/outputIf the ceremony does not start check out the Troubleshooting Section.
Output and Next Steps
- With key shares generated, you can Register your validators to SSV Network.
- After a successful ceremony, the tool writes a
ceremony-...output folder with deposit data, key shares, and proof files. - Review Ceremony Output Summary to understand ceremony artifacts.
Securely save output files on a separate device. They might be needed later, if you need to Change Operator Set or Update Owner Nonce.