To become a validator of the StaFi ETH2.0 Staking contract, you need to deposit 8 ETH to generate one pool which will be allocated with stakers' funds automatically. When the amount of ETH in the staking pool reaches 32, the validator can start to stake in the Eth1.0 deposit contract. Finally, the validator needs to run an ETH2.0 node and wait for becoming an Ethereum official validator.
1) Select "Validator" in the page,Learn the basic information of rETH validator on the Validator Deployment Process page, and click "Start".
2) Click "Deposit" button to deposit 8 ETH.
Please note that "8" ETH is default and cannot be changed. Estimated APR shows the annualized income estimated by the current system.
3) The page jumps to the Metamask wallet, this page shows the amount of deposited ETH and the Gas fee. Click “Confirm“.
Until the Deposit transaction is successful, the page will automatically jump to the stake page.
4) The Stake page displays the amount of ETH in validator's pool.
If the amount of ETH deposited by stakers is insufficient, the validator's staked 8 ETH shown here, the validator needs to wait;
If the amount of ETH deposited by stakers is sufficient, Then the ETH staked by stakers will be matched here to make up 32 ETH; when there are 32 ETH in the pool, validators can stake this ETH to Ethereum contract.
When the amount of ETH in the pool reaches 32, the validator needs to upload the deposit_data-*.json file, then click the "Stake" button. As for the deposit_data-*.json file generation you can refer the folllowing instruction.
5) Click "Pool status" to view the network data status, as shown in the second picture in detail:
Minted rETH: the amount of rETH minted.
Staked ETH: the amount of staked ETH.
Pool Contracts: The number of staking pool.
Unmatched ETH: The number of unmatched ETH.
Unmatched Validators: The number of unmatched validators.
Validator APR: current network OV(s) annualized rewards.
Staker APR: staker annualized rewards.
6) Validator could deposit another 8ETH into the pool to run another node. In addition, if an ETH account needs to deposit ETH multiple times, multiple pools will be generated, which can be switched here:
When stake is successful, you can check the status on the Status page:
deposit-cli is a tool for creating EIP-2335 format BLS12-381 keystores and a corresponding deposit_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:
https://github.com/stafiprotocol/eth2.0-deposit-cli
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
macos:
wget https://raw.githubusercontent.com/stafiprotocol/stafi-bootstrap/master/eth2.0-deposit-cli/binary/mainnet/macos/deposit-darwin-amd64.tar.gztar zxvf deposit-darwin-amd64.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.gztar zxvf deposit-ubuntu-18.04-x86_64.tar.gz
./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
pip3
git clone https://github.com/stafiprotocol/eth2.0-deposit-cli.gitcd eth2.0-deposit-cli/ && git checkout master./deposit.sh install
./deposit.sh new-mnemonic --num_validators=1 --mnemonic_language=english --chain=mainnet
Note:
In validator_keys directory, you can see the two newly generated files, of which,
The deposit_data-*.json file must be uploaded when the validator stake ETH
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.
To participate in the ETH2 mainnet network, read Prysm ETH2 Docs here.
These specifications must be met in order to successfully run the Prysm client.
Operating System: 64-bit Linux, Mac OS X 10.14+
Processor: Intel Core i5–760 or AMD FX-8100 or better
Memory: 8GB RAM
Storage: 20GB available space SSD
Internet: Broadband connection
These hardware specifications are recommended, but not required to run the Prysm client.
Operating System: 64-bit Linux
Processor: Intel Core i7–4770 or AMD FX-8310 or better
Memory: 16GB RAM
Storage: 100GB available space SSD
Internet: Broadband connection
Recommend Ubuntu18.04
mkdir prysm && cd prysmcurl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod +x prysm.sh
Note: is in the format of an http endpoint such as http://host:port (ex: http://localhost:8545 for geth) or an IPC path such as /path/to/geth.ipc.
./prysm.sh beacon-chain --http-web3provider=<YOUR_ETH1_NODE_ENDPOINT>
Note: --keys-dir
value needs to be replaced with the path where user validator_keys is located
./prysm.sh validator accounts import --keys-dir=$HOME/eth2.0-deposit-cli/validator_keys
./prysm.sh validator
Please note that it may take from 5-12 hours for nodes in the ETH2 network to process a deposit. In the meantime, leave both terminal windows open and running; once the validator is activated by the ETH2 network, it will immediately begin receiving tasks and performing its responsibilities. If the eth2 chain has not yet started, the validator will be ready to start proposing blocks and signing votes as soon as the genesis time is reached.
To check on the status of your validator, we recommend checking out the popular block explorers: beaconcha.in by Bitfly and beacon.etherscan.io by the Etherscan team.