This is a step-by-step guide for theplug-and-play DAppNode hardware. By purchasing pre-configured DAppNode hardware you support the team behind the free open source DAppNodesoftware that’s enabling low cost solo staking.
The DAppNode hardware comes pre-configured with the sofware needed to run a full staking node:execution + consensus client setup,MEV boost,Web3Signer, etc. It also hasWireGuard installed, a VPN tunneling protocol which allows you to access the DAppNode dashboard from anywhere in the world through a mobile device like an iPhone!
The requirements for solo staking are:
There are two steps to setting up a staking node. The rest of this article expands on them:
In order to access the DAppNode dashboard, follow thesesteps to setup the DAppNode WiFi. Once connected to the DAppNode WiFi, navigate tohttp://my.dappnode/ in a web browser to see the dashboard. Then follow theFirst steps with Dappnodewhich walks through setting up an Ethereum node — you’ll want to choose full node.
Navigate to the Support tab and find theports section. Then click the“API Scan”button to see the opened or closed status of each service:
If your router supportsUPnP and the necessary ports are opened, you’re done; move to next step. Otherwise, if the ports are closed, they will need to be opened in the ISP gateway or router settings. The gateway settings will look different depending on the ISP provider. Open the necessary ports:
Navigate to theStakers Tab and setup the clients. For example, I chose Geth and Prysm. Enter a “Fee recipient address”. This is where the staking rewards are distributed to. Choose a MEV boost relay(s). The final step in this setup is to upload the keystore file, but we’ll cover that later.
Make sure the selected execution and consensus clients are running:
Allow some time for Geth and Prysm to sync which can take up to48–72 hours:
That’s it for DAppNode. We’ll come back to it one last time later to add the keystore file.
Navigate tohttps://launchpad.ethereum.org. Complete and read steps 1 through 9. DAppNode manages everything covered in Step 9's checklist so you don’t have to do anything, but you should still read the checklist!
Choose an execution and consensus client to continue. It doesn’t matter what is selected here because these have been selected in the previous steps in DAppNode.
Use Wagyu Key Gen app and to generate thekeystore file anddeposit data file.It is recommended to download Wagyu Key Gen and transfer it to an offline machine using a USB drive. Generate the key pairs on an offline machine, then transfer the keystore and deposit data files back to an online machine using a USB drive.
🎥 🛑INTERMISSION:about the keystore and deposit data file.
Thekeystorefile is an encrypted version of the private key used to sign transactions. It is encrypted using a passphrase that you create. The validator(s) uses the keystore file to attest and propose blocks.This file needs to be uploaded to DAppNode(covered in a later step).
Thedeposit data file contains the public key of the validator and the withdrawal credentials. The pubic key identifies the validator and the withdrawal credentials identifies which Ethereum address can widthdraw ETH from the validator.This file needs to be uploaded into Ethereum Launchpad before sending 32 ETH to the deposit contract.
Okay back to Wagyu Key Gen app:
Step 1: Create Secret Recovery Phrase
Create the mnemonic / seed phrase. This is used to regenerate the private keyso keep a backup of it in a safe place like a hardware wallet🔐.
Step 2: Configure the Validator Keys
The passphrase created in this step is used to decrypt the the private key sokeep it in a safe place🔐.
Step 3: Configure the Validator Keys
Thekeystore anddeposit data files are generated in this step.
Step 4: Finish
Navigate back to the Ethereum Launchpad.
Drop thedeposit datafile which was created above into Ethereum Launchpad:
Click continue and connect the funding wallet:
Click continue and review the summary:
Then click “Confirm deposit” to send the 32 ETH to thedeposit contract:
Click the Beaconcha.in & Beaconscan links which will show a deposit confirmation and the validator in apending state:
Navigate to the Web3Signer UI in the DAppNode dashboard and import the keystore that was created earlier:
Once the keystore file has been uploaded, we’re done 🎉. Now wait until the validator is active which takes around 15 hours. Once active, the validator will begin proposingattestations:
Congrats on being a solo validator on Ethereum. Thank you for doing your part 🫡.
@0xproject • prev, design systems @zendesk • eng @shipt