StaFi_Protocol
Search
⌃K

Original Validator Guide

1.Deposit&Stake

1) Validator needs to upload the deposit_data-*.json file when deposit and upload the stake_data-*.json file when staking. As for the files generation you can refer the folllowing instruction.
2) Consider that the operation process of the Solo Validator is the same as that of the Trusted Validator, so we take the operation process of the Solo Validator as an example to demonstrate how to operate in the StaFi rETH validator page for validators.
Enter validator operation page: https://app.stafi.io/validator/reth/choose-validator, select “SOLO Validator” and click “Next Step”.
3) Enter the “Deposit” page, upload the deposit file(deposit_data-*.json) obtained in step 1, then you will see “File uploaded successfully ”.
4) Click ”Deposit”(Please make sure you have enough ETH in your node address), the checking process may take 5 minutes, please wait a moment.
5) Click “Go Check My Stake” after ETH deposited successfully.
6) Your self-deposited ETH has matched 28 ETH in the pool, click “Apply for Stake” to stake 32 ETH.
7) Upload the stake file(stake_data-*.json) gotten in step 1.
8) You can check “Managed ETH, Public key List Rewards, Reward Details” in “My Data page” and check the pool data in the “Pool Data”page after 32 ETH staked successfully.

2. Use deposit-cli to generate a key file

deposit-cli is a tool for creating EIP-2335 format BLS12-381 keystores and a corresponding deposit_data-*.json file and stake_data-*.json file for Ethereum 2.0 Launchpad.
  • Warning: Please generate your keystores on your own safe, completely offline device.
  • Warning: Please backup your mnemonic, keystores, and password securely.
Github
Important! You should use master branch, please make sure to switch tomaster branch. git checkout master
And The mainnet does not support windows yet. Please use Linux or Macos or build with native Python

Linux or MacOS

Option 1. Download binary executable file

Step 1. Installation

Macos:
(1) Intel
wget https://raw.githubusercontent.com/stafiprotocol/stafi-bootstrap/master/eth2.0-deposit-cli/binary/mainnet/macos/deposit-darwin-amd64.tar.gz
tar zxvf deposit-darwin-amd64.tar.gz
(2) M1
wget https://raw.githubusercontent.com/stafiprotocol/stafi-bootstrap/master/eth2.0-deposit-cli/binary/mainnet/macos/deposit-darwin-arm64.tar.gz
tar zxvf deposit-darwin-arm64.tar.gz
Linux:
wget https://raw.githubusercontent.com/stafiprotocol/stafi-bootstrap/master/eth2.0-deposit-cli/binary/mainnet/linux/deposit-ubuntu-18.04-x86_64.tar.gz
tar zxvf deposit-ubuntu-18.04-x86_64.tar.gz

Step 2. Create keys and deposit_data-*.json/stake_data-*.json

Note: If you want to run multiple validators one time. Just change --num_validators to the number you want. But for trust validators, the number is limited to a maximum of 50.
./deposit new-mnemonic --num_validators=1 --mnemonic_language=english --chain=mainnet
You will see the following messages after successfully generated the keystore(s) and the deposit(s):
Creating your keys: [####################################] <N>/<N>
Creating your keystores: [####################################] <N>/<N>
Creating your depositdata: [####################################] <N>/<N>
Verifying your keystores: [####################################] <N>/<N>
Verifying your deposits: [####################################] <N>/<N>
Success!
Your keys can be found at: <YOUR_FOLDER_PATH>
Option 2. Build with native Python

Step 0. Build requirements

Step 1. Installation

git clone https://github.com/stafiprotocol/eth2.0-deposit-cli.git
cd eth2.0-deposit-cli/ && git checkout master
./deposit.sh install

Step 2. Create keys and deposit_data-*.json / stake_data-*.json

./deposit.sh new-mnemonic --num_validators=1 --mnemonic_language=english --chain=mainnet
Note:
In validator_keys directory, you can see the three newly generated files, of which,
The deposit_data-*.json file must be uploaded when the validator deposit ETH
The stake_data-*.json file must be uploaded when the validator stake
The keystore-m*.json file is the information encrypted by the validator's private key. When validator runs the ETH2.0 client, it needs to be imported for voting or block signing.

3.Run a Node on ETH2 Mainnet

1) Run a node on ETH2 mainnet by Prysm

Note:
(1) If you are a solo validator, please configure your fee recipient as 0x6fb2aa2443564d9430b9483b1a5eea13a522df45.
(2) If you are a trust validator, please configure your fee recipient as 0xdc5a28885a1800b1435982954ee9b51d2a8d3bf0.
Otherwise you will be slashed by StaFi protocol. More details about the configuration, you can check here.
It may take hours or days for your validator to become fully activated. To learn more about the validator activation process, see Deposit Process. See Check node and validator status for detailed status monitoring guidance. In the meantime, leave your execution client, beacon node, and validator client terminal windows open and running; once your validator is activated, it will automatically begin proposing and validating blocks.
To check on the status of your validator, we recommend checking out the popular block explorers: beaconcha.in by Bitfly and beaconscan.com by the Etherscan team.

2) Run a node on ETH2 mainnet by Third-party service provider SSV

ssv.network is a fully decentralized, open-source ETH staking network, based on Secret Shared Validator (SSV) technology, which enables the distributed operation of an Ethereum validator. The SSV protocol splits a validator key into multiple KeyShares and distributes them to non-trusting nodes run by operators. The nodes execute the validator's duties under a consensus mechanism providing fault tolerance, increased security, and decentralized risk for stakers.
More details on SSV portal: https://ssv.network/