[DAppNode Mini] - Steps to start your validator

After extensive testing in testnets, DAppNode Mini’s hardware seemed perfectly capable of running a validator. Unfortunately, there have been some problems when moving to mainnet.

Reminder: ETH2 (and even ETH1) is cutting edge software that’s subject to constant changes and unstability and depends on 3rd parties not related to DAppNode. We do our best to abstract the complexity of this ever-changing environment and offer a smooth UX, but sometimes it might not be possible to do so when circumstances change, affecting the compatibility of our hardware. We strive to keep offering you the best solution and support you through the process.

In this post, we will explain the potential sources of trouble and how to overcome them.

Limitation 1: Geth consuming too many resources and stalling the DAppNode.

The beacon chain (eth2 node) needs a connection to an eth1 node. We recommend that this node is hosted in the same machine or network to avoid any connection problems, and the standard setup for DAppNode is meant to host a full node.

But Geth is a notorious resource hog, specially during syncing period, and it can make the DAppNode crash. If you are encountering this problem, it is possible it will be solved after syncing, but you are probably never getting there because it keeps crashing.

Solutions:

1: Limit Geth’s resources
  • Stop all packages except system packages and Geth.
  • Go to Packages > Geth > Config and add --cache 4096 after whatever is already in the Extra Opts field. It should look like this:
  • Limiting the cache that Geth uses to 4GB should help avoiding stalling your DAppNode. A more extreme option is to change it to --cache 2048, but if it works with 4096 I recommend leaving it this way.
2: Using an external eth1 node

If eth1 syncing is the issue, you might want to not sync an eth1 node and connect to an external node not within the same machine. This option is NOT RECOMMENDED because you subject yourself to outages in the 3rd party node provider, but some might be willing to accept this risk.
This way DAppNode can function in mode “Light client” or “Remote” and save resources.

  • Get an eth1 node endpoint you can connect to (from your friend, co-working, 3rd party service…)
  • Connect your beacon chain to this endpoint by introducing the URL in Packages > Prysm > Config > Eth1.x node URL

This is a live document and will be updated with users’ feedback. Please leave your comments and experience below!

4 Likes