Operators CLI generates validators keys and deposit data for the validators. The validator keys have to be uploaded to the Hashicorp Vault or fetched locally. Read more about operators onboarding process
See releases page to download and decompress the corresponding binary files.
Run the following command to create deposit data and DAO proposal specification:
./operator-cli create-deposit-data
NB! You must store the generated mnemonic in a secure cold storage. It will allow you to restore the keys in case the Vault will get corrupted or lost.
Create a post about joining operators set at StakeWise Forum.
In your post you must include the Specification
section that was generated in the previous step.
If the proposal from the previous step got approved by the DAO, follow the instructions here to deploy the ETH2 staking infrastructure.
You must use the same mnemonic as generated in step 1. NB! Using the same mnemonic for multiple vaults will result into validators slashings.
Run the following command to sync new validator keys to the vault:
./operator-cli sync-vault
or to sync them locally
./operator-cli sync-local
After fetching the keys, make sure you have the right number of validators running and restart those that got new keys added.
Once you're 100% ready for Ether assignments, commit your operator:
- Go to the Operators smart contract (Goerli, Harbour Goerli, Mainnet, Harbour Mainnet)
- Click on
Connect to Web3
button and connect your wallet. The address must match the one used during proposal generation. - Call
commitOperator
function. If that's your onboarding, you must deposit 1 ETH (specified in Wei) collateral together with the call.
Congratulations on becoming StakeWise Node Operator🎉. Your validators will get ether assigned, and you can claim your operator rewards from Farms Page.
Variable | Description | Required | Default |
---|---|---|---|
INFURA_IPFS_CLIENT_ENDPOINT | The http://infura.io IPFS endpoint where the deposit data will be uploaded | No | /dns/ipfs.infura.io/tcp/5001/https |
INFURA_IPFS_CLIENT_USERNAME | The http://infura.io IPFS account username | No | - |
INFURA_IPFS_CLIENT_PASSWORD | The http://infura.io IPFS account password | No | - |
LOCAL_IPFS_CLIENT_ENDPOINT | The local IPFS endpoints from where the deposit data will be uploaded | No | - |
IPFS_EXTRA_FETCH_ENDPOINTS | The extra IPFS endpoints from where the deposit data will be fetched | No | https://gateway.pinata.cloud,http://cloudflare-ipfs.com,https://ipfs.io |
IPFS_PINATA_API_KEY | The Pinata API key for uploading deposit data for the redundancy | No | - |
IPFS_PINATA_SECRET_KEY | The Pinata Secret key for uploading deposit data for the redundancy | No | - |
VAULT_VALIDATORS_MOUNT_POINT | The mount point in Hashicorp Vault for storing validator keys | No | validators |