Keysplit Command
The keysplit
command is used to split validator keys for distributed validation on the SSV network.
anchor keysplit <SUBCOMMAND> [OPTIONS]
Where <SUBCOMMAND>
is one of:
manual
- Split keys with manually provided operator dataonchain
- Split keys using operator data from the blockchain
Both subcommands share these Options
Option | Description | Default |
---|---|---|
--keystore-path <PATH> | Path to validator keystore file | Required |
--password-file <PATH> | Path to a file containing the password for the validator keystore (if omitted, password will be prompted) | None |
--owner <ADDRESS> | EOA address that owns the validator | Required |
--output-path <OUTPUT PATH> | Path for output file | Required |
--operators <IDS> | Comma-separated list of operator IDs | Required |
-d, --data-dir <DIR> | Data directory for node files | ~/.anchor/{network} |
--network <NETWORK> | Network to use (mainnet, holesky, hoodi) | hoodi |
-t, --testnet-dir <DIR> | Directory containing testnet specs | None |
--debug-level <DEBUG_LEVEL> | Verbosity level for terminal logs | INFO |
-h, --help | Display help information |
Manual Keysplit Subcommand
anchor keysplit manual [OPTIONS]
Additional Options:
Option | Description | Default |
---|---|---|
--nonce <NONCE> | Nonce for the owner address | Required |
--public-keys <KEYS>... | RSA public keys for the operators | Required |
Onchain Keysplit Subcommand
anchor keysplit onchain [OPTIONS]
Additional Options:
Option | Description | Default |
---|---|---|
--rpc <ENDPOINT> | RPC endpoint to access L1 data | Required |
Examples
Manual key splitting
anchor keysplit manual \
--keystore-path /path/to/validator_keystore.json \
--password-file /path/to/password.txt \
--owner 0x123abc... \
--operators 1,2,3,4 \
--output-path /path/to/output.json \
--nonce 0 \
--public-keys key1 key2 key3 key4 \
--network hoodi
Onchain key splitting
anchor keysplit onchain \
--keystore-path /path/to/validator_keystore.json \
--password-file /path/to/password.txt \
--owner 0x123abc... \
--operators 1,2,3,4 \
--output-path /path/to/output.json \
--rpc https://eth-mainnet.provider.com \
--network mainnet
These commands will generate a json file to be uploaded to the SSV network webapp when registering a validator.