How to participate in the SSV incentivized testnet
This tutorial will guide you through the process of deploying Ethereum testnet validators to participate in the SSV incentivized testnet. No special skills, money, or servers are required.
How does Ethereum staking work
Briefly, the Ethereum Beacon Chain is composed of thousands of validators that propose and attest new blocks. These validators consist of a public key that points to 32 ETH in the staking smart contract, and a private key used to participate in the network. The private key —contained in a file named Keystore— needs to be attached to a Beacon Node. This type of node saves and maintains a local copy of the Beacon Chain and sends signing requests to the attached validators. A Beacon Node can withstand thousand of validators attached with non-expensive hardware.
How does SSV work
SSV introduces an extra layer in the Ethereum staking in which the private key of a validator is distributed among several SSV Operators. This enables a fully non-custodial Ethereum staking, since proposing and attesting new blocks by a validator is now performed by multiple entities instead of just one. It also reduces the staking risks since a majority of SSV Operators need to agree on a specific topic, whereas in regular staking, everything depends on a unique operator.
SSV incentivized testnet
SSV Network has recently launched an incentivized testnet where users can participate and earn SSV tokens for helping test the product before the mainnet launch. This testnet runs on the Goerli-Prater testnet, so no real ETH tokens are used. There are additional rewards for SSV token holders.
After having explained all the basics, let's start with the tutorial.
1. Create the keys
Head over to Github and download the compressed file for your Operating System, under the "Assets" tab. Uncompress the file and run the executable with a terminal: ./deposit new-mnemonic --num_validators 1 --chain prater
You will be prompted for a passphrase to protect your Keystore, and you will be given a seed phrase. Write down these two secrets carefully since we will need them for the next steps.
You will notice that a folder named validator_keys has been generated. You will find two files inside that folder, named "deposit_data" and "keystore".
2. Generate the deposit data
Head to the official Ethereum Prater Launchpad located at the Ethereum Launchpad and click on "Become a validator". Click on continue and agree on all the steps until you arrive at a page named "Upload Deposit Data". You need to upload the file generated in the previous step called "deposit_data" and click on continue.
The page will ask you to connect your Metamask with the Goerli Test Network selected.
Once your Metamask is connected, the page will tell you that you don't have enough Goerli ETH to make the deposit transaction. Although this is true, we need to continue to the next page to generate the hex string to continue with the process.
3. Hack the Launchpad page
Right-click on any place on the page and select the option called "Inspect". This will allow us to modify the page so we can continue to the next step. Hover the mouse over the "Continue" button to find the HTML that controls the button and remove the "disable" attribute.
You will be able to click on the "Continue" button to continue to the next page. This page will display a summary of all the data and disclaimers that you must accept. Click on continue to reach the last page of the Launchpad process.
Click on "Send deposit" and Metamask will pop up with a transaction request.
You will need to click on the "hex" tab in Metamask and click on "copy raw transaction data".
A large string comprised of letters and numbers will be copied on your clipboard. Save it in a safe place since we will need it for the next step. You can reject the transaction in Metamask since we just wanted to extract the hex string.
4. Interact with the SSV deposit bot
Enter into the dedicated Discord server for SSV deposits and follow the instructions to become verified. After that, head over to the deposit-bot channel and paste the following text: +goerlieth <wallet address> <hex data> Being the wallet address your Metamask wallet —holding SSV tokens or not— and the hex data is the string comprised of letters and numbers we copied from the transaction in the previous step.
If everything is correct, the bot will answer with a success message.
5. Importing validator in the SSV network
We have almost finished! In this last step, you just need to import the validator keys into the SSV network.
Head over to App Prater SSV Network and click on "Import validator". You will need to upload the keystore file we generated in the first step and the passphrase we used to encrypt it.
If everything is correct, you will be asked to select four operators that will manage your validator. Some of our recommended operators are: Stakely, Forbole, Chainlayer, CryptoManufaktur, NodesGuru, and SkillZ.
You can select other operators, but remember to choose verified operators with good performance. Otherwise, your validator won't be eligible for the testnet.
The wallet needs to hold a small amount of Goerli Eth to pay this transaction. You can get this test ETH by searching for faucets online or asking us on our Telegram channel.
After sending this transaction, you are all done. You will be able to track your validator in the SSV dashboard and the Beaconchain explorer. It may take some minutes to be updated.
Extra notes
- You can deploy multiple validators by repeating this process several times with the same Metamask wallet.
- Getting Goerli ETH from external sources and performing the deposit transaction manually is not permitted. You must use the official SSV bot.
- Users that hold SSV tokens are eligible for more rewards. These SSV tokens must be held in the same Metamask address that you use to deploy validators.