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.
Select "Validator" in page, and 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.
1)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.
2)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.
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 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.
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 pyrmont
branch, please make sure to switch topyrmont
branch. git checkout pyrmont
And The testnet 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/pyrmont/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/pyrmont/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=pyrmont
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 pyrmont./deposit.sh install
./deposit.sh new-mnemonic --num_validators=1 --mnemonic_language=english --chain=pyrmont
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 testnet 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
./prysm.sh beacon-chain --http-web3provider=https://goerli.prylabs.net --pyrmont
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/eth2deposit-cli-ed5a6d3-linux-amd64/validator_keys --pyrmont
./prysm.sh validator --pyrmont
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.
To check on the status of your validator, you can checking out the popular block explorers: