Skip to content

Repository files navigation

Operator CLI

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

Usage

Step 1. Installation

See releases page to download and decompress the corresponding binary files.

Step 2. Create Deposit Data

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.

Step 3. Submit DAO proposal

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.

Step 4. Deploy ETH2 infrastructure

If the proposal from the previous step got approved by the DAO, follow the instructions here to deploy the ETH2 staking infrastructure.

Step 5. Sync keys to the Vault or locally

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.

Step 6. Commit Operator

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.

Operator CLI Environment Settings

VariableDescriptionRequiredDefault
INFURA_IPFS_CLIENT_ENDPOINTThe http://infura.io IPFS endpoint where the deposit data will be uploadedNo/dns/ipfs.infura.io/tcp/5001/https
INFURA_IPFS_CLIENT_USERNAMEThe http://infura.io IPFS account usernameNo-
INFURA_IPFS_CLIENT_PASSWORDThe http://infura.io IPFS account passwordNo-
LOCAL_IPFS_CLIENT_ENDPOINTThe local IPFS endpoints from where the deposit data will be uploadedNo-
IPFS_EXTRA_FETCH_ENDPOINTSThe extra IPFS endpoints from where the deposit data will be fetchedNohttps://gateway.pinata.cloud,http://cloudflare-ipfs.com,https://ipfs.io
IPFS_PINATA_API_KEYThe Pinata API key for uploading deposit data for the redundancyNo-
IPFS_PINATA_SECRET_KEYThe Pinata Secret key for uploading deposit data for the redundancyNo-
VAULT_VALIDATORS_MOUNT_POINTThe mount point in Hashicorp Vault for storing validator keysNovalidators

About

Operator CLI should be used to generate and upload validator keys to the vault.

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages