Generate Deposit Data
The deposit data is used for registering new validators. ethStaking oracles are responsible for choosing the operator for the new validator based on different metrics (number of keys, performance, etc.). Once operator is selected, its deposit data is used to register the validator in beacon chain.
1. Installation
Navigate to the releases page to download and decompress the latest version of operator-cli
for your operating system.
2. Generate deposit data
NB! You must use a new mnemonic for every staking setup. If you use the same mnemonic, you can accidentally run same validator in multiple places and get slashed.
New mnemonic
Run the following command to generate deposit data with the new mnemonic:
Choose the network you would like to generate the deposit data for:
Choose the language for your mnemonic:
NB! You must store the generated mnemonic in secure cold storage. You won't be able to restore the keys in case it will be lost.
Existing mnemonic
Run the following command to generate deposit data using existing mnemonic:
Choose the network you would like to generate the deposit data for:
Enter your existing mnemonic:
Deposit Data
Choose the number of validators you would like to run. If you're a new operator, start with a smaller amount of validator keys (e.g. 10 for the Mainnet, 100 for Gnosis Chain). Once they run smoothly, you can extend to a larger number. Also, it's better to not run too many keys in the same staking setup (e.g. up to 1000 keys in Mainnet and up to 10000 in Gnosis).
Choose the destination address for the rewards and the percent of protocol fee shares per every validator:
3. Submit specification
The command from the previous step will generate the specification. For example,
You should share that specification in a ethStaking Forum post about your operator or include it in the proposal about adding/extending validator keys.
4. Send encrypted key shares
The command from the deposit data step will generate the encrypted key shares that you must share with the committee. For example,
@username1:
/cli/committee/username1-1867c966-1.shard
@username2:
/cli/committee/username2-1867c966-1.shard
@username3:
/cli/committee/username3-1867c966-1.shard
@username4:
/cli/committee/username4-1867c966-1.shard
@username5:
/cli/committee/username5-1867c966-1.shard
These key shares can only be decrypted by the respective committee members and will be used in case something unexpected happens with the operator, e.g. it loses access to the validators, refuses to sign validators exit on the DAO request, etc.
Last updated