Zinken Eth2 launchpad onboarding

This section outlines the step-by-step process for how to join the Zinken multiclient testnet to run a Prysm eth2 beacon node and validator.

Ensure You Are Joining the Right Testnet

zinken is a short-lived, multiclient testnet. If this isn't the testnet you wish to join, but instead participate in the larger Medalla testnet, follow our instructions here.

Step 1: Get Prysm

To begin, follow the instructions to fetch and install Prysm for your operating system.

Step 2: Get Test ETH

To participate in eth2, you'll need to stake 32 ETH. For the zinken eth2 testnet, we use test ETH from the Görli eth1 testnet. You can request this testnet ETH by joining our discord server.

Step 3: Run your beacon node

image

Beacon node

First, let's run the beacon node connected to the zinken testnet. It will begin to sync with other nodes and will be ready for you to connect to it. If your beacon node is still running from Step 1, you do not have to perform this section. To run a beacon node, you will need access to an eth1 node. We have dedicated instructions for this here.

Using the Prysm installation script

./prysm.sh beacon-chain --http-web3provider=<YOUR_ETH1_NODE_ENDPOINT> --zinken

Where <YOUR_ETH1_NODE_ENDPOINT> 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.

You will be asked to do a one time acknowledgement of our Terms of Use. You can also read the legal terms first, then confirm them via a flag using --accept-terms-of-use in both your beacon node and validator.

Using Docker

docker run -it -v $HOME/.eth2:/data -p 4000:4000 -p 13000:13000 -p 12000:12000/udp --name beacon-node \
gcr.io/prysmaticlabs/prysm/beacon-chain:latest \
--datadir=/data \
--rpc-host=0.0.0.0 \
--monitoring-host=0.0.0.0 \
--http-web3provider=<YOUR_ETH1_NODE_ENDPOINT> \
--zinken

Where <YOUR_ETH1_NODE_ENDPOINT> 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.

You will be asked to do a one time acknowledgement of our Terms of Use. You can also read the legal terms first, then confirm them via a flag using --accept-terms-of-use in both your beacon node and validator.

Using Bazel

bazel run //beacon-chain -- --http-web3provider=<YOUR_ETH1_NODE_ENDPOINT> --zinken

Where <YOUR_ETH1_NODE_ENDPOINT> 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.

You will be asked to do a one time acknowledgement of our Terms of Use. You can also read the legal terms first, then confirm them via a flag using --accept-terms-of-use in both your beacon node and validator.

Syncing your node

The beacon-chain node you are using should be completely synced before submitting your deposit. You may incur minor inactivity balance penalties if the validator is unable to perform its duties by the time the deposit is processed and activated by the ETH2 network. You do not need to worry about this if the chain has not started yet.

Step 4: Complete the onboarding process in the official eth2 launchpad

The official eth2 launchpad is the easiest way to go through a step-by-step process to deposit your 32 ETH to become a validator. Throughout the process, you'll be asked to generate new validator credentials using the official Ethereum deposit command-line-tool here. During the process, you will have generated a validator_keys folder under the eth2.0-deposit-cli directory. You can import all of your validator accounts into Prysm from that folder in the next step.

Step 5: Import your validator accounts into Prysm

For this step, you'll need to copy the path to the validator_keys folder under the eth2.0-deposit-cli directory you created during the launchpad process. For example, if your eth2.0-deposit-cli installation is in your $HOME (or %LOCALAPPDATA% on Windows) directory, you can then run the following commands for your operating system

Using the Prysm installation script

./prysm.sh validator accounts import --keys-dir=$HOME/eth2.0-deposit-cli/validator_keys --zinken

You will be asked to do a one time acknowledgement of our Terms of Use. You can also read the legal terms first, then confirm them via a flag using --accept-terms-of-use in both your beacon node and validator.

Using Docker

docker run -it -v $HOME/eth2.0-deposit-cli/validator_keys:/keys \
-v $HOME/Eth2Validators/prysm-wallet-v2:/wallet \
-v $HOME/Eth2:/validatorDB \
--name validator \
gcr.io/prysmaticlabs/prysm/validator:latest \
accounts import --keys-dir=/keys --wallet-dir=/wallet --datadir=/validatorDB --zinken

You will be asked to do a one time acknowledgement of our Terms of Use. You can also read the legal terms first, then confirm them via a flag using --accept-terms-of-use in both your beacon node and validator.

Using Bazel

bazel run //validator:validator -- accounts import --keys-dir=$HOME/eth2.0-deposit-cli/validator_keys --zinken

You will be asked to do a one time acknowledgement of our Terms of Use. You can also read the legal terms first, then confirm them via a flag using --accept-terms-of-use in both your beacon node and validator.

Step 6: Run your validator

Open a second terminal window. Depending on your platform, issue the appropriate command from the examples below to start the validator.

Using the Prysm installation script

./prysm.sh validator --zinken

Using Docker

docker run -it -v $HOME/Eth2Validators/prysm-wallet-v2:/wallet \
-v $HOME/Eth2:/validatorDB \
--network="host" --name validator \
gcr.io/prysmaticlabs/prysm/validator:latest \
--beacon-rpc-provider=127.0.0.1:4000 \
--wallet-dir=/wallet --datadir=/validatorDB --zinken

Using Bazel

bazel run //validator -- --zinken

Step 7: Wait for your validator assignment

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 node is activated by the ETH2 network, the validator will immediately begin receiving tasks and performing its responsibilities. If the chain has not yet started, it 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.

image

Advanced wallet setups

For running an advanced wallet setups, our documentation includes comprehensive guides as to how to use the wallet built into Prysm to recover another wallet, use a remote signing server, and more. You can read more about it here.

Congratulations, you are now fully participating in the Prysm ETH 2.0 Phase 0 testnet!

Still have questions? Stop by our Discord for further assistance!