How to set up a blockchain node (as a technical beginner) — with DAppNode
Running a blockchain node has been a wish since I understood the principle of a blockchain — to actually be part of the network, not just a community member.
It is somehow part of the 1x1 of every blockchain enthusiast to have his own blockchain copy, especially of bitcoin. Since more and more PoS chains have come up, staking can also be a source of revenue.
How I became a „Nodler“
However, it always seemed too expensive or time-consuming, and especially too technically difficult for me. Then earlier this year I came across “DAppNode”, an open-source software for nodes. They also offer a “convenience” solution: You can order a node (the hardware) with the DAppNode software pre-installed.
The following article will therefore reflect my experience: What are the reasons to become a “Nodler”, which chain(s) should you choose, and is it even worth it?
What is a node?
There are sources that can explain this much better than I, e.g.
- Mastering Bitcoin: The Bitcoin Network
- YouTube video: What is a Bitcoin Node? — Step by Step Explanation
- Bitcoin.org: What Is A Full Node?
Basically, a node is a piece of hardware with a piece of software on it that synchronizes a blockchain („run software, with hardware, while online“), i.e. stores the data of the blocks. Blockchains are decentralized databases: data is stored in parallel all over the world — so-called nodes. This data set is the same on all local copies (except for the most recent blocks), which enables “digital uniqueness” and constitutes the concept of a blockchain.
A standard PC can suffice as hardware: But since most blockchains today need a lot of storage space and must be permanently online, usually, special mini-computers are used. They don’t have a display or keyboard, but they are often equipped with extra memory.
Which chain(s) do you want to synchronize?
In principle, any blockchain can be stored (as far as it is public, of course). The best known is certainly the Bitcoin blockchain, the “crypto flagship”. Bitcoin has the longest history, but is not very memory-intensive, as the blockchain grows relatively slowly.
PoS-chains are somewhat different: The consensus mechanism is based on depositing a certain amount of tokens to operate a “validator”. In return, the validators receive a regular payout.
Almost all known layer-1 blockchains are PoS, including Polkadot, Cardano, Solana, Avalanche, or NEAR. Ethereum is in the process of moving to PoS. However, the hardware requirements and the size of the deposit vary. How hard or easy it is to run a node is an important criterion for the security and decentralization of a network.
Why running a node?
- Contribute to the security and decentralization of the network: You make the network bigger and more secure when you run your own node
- Shape the network: As a node operator, you can vote for governance decisions and be part of a large community.
- Get your own data: If privacy and autonomy are important to you, you can use your own node’s blockchain data (so you don’t have to rely on explorers) as well as broadcasting transactions from your node.
- Develop on the blockchain: To deploy contracts, you need access to a network node. Having your own node gives you more flexibility compared to node providers (e.g. Infura on Ethereum).
- Learning experience: When setting up a node, you inevitably have to deal with the structure of a blockchain. You will better understand how a network works and whether it is a good project.
- And as bitcoin magazine writes:
„Coolness factor and street cred. Running your own node is super cool, and gives you a great appreciation of the power of Bitcoin. You’ll probably end up buying more.”
What are the ways to run a node?
You don’t have to run your own node to stake. There are some services (exchanges, wallets, staking pools, etc.) where you can deposit your tokens to receive rewards. Non-custodial services are usually the better choice here.
Some node operators also outsource the hardware component and operate nodes via cloud services. One of the criticisms of Ethereum is that many nodes run on AWS or Google Cloud.
The most “decentralized” way is therefore to buy your own hardware. The most autonomous path is to assemble the components and install the software pre-synchronizetailed instructions to set up a custom node for Bitcoin or Lightning with a Raspberry Pi can be found here.
Some services sell ready-made hardware. For Bitcoin nodes in particular, there are some providers (e.g. Fulmo) that already install software and pre-synchronise the blockchain. However, you also have to trust the provider here.
What is DAppNode?
DappNode was initiated in 2018 as open-source software for nodes. The software can be installed free of charge and then allows various “packages” to be downloaded. These include various blockchains, but also DApps and P2P clients.
The aim is to offer a simple user interface to run a node yourself, so that everyone can become part of the “decentralized web”. True to the motto:
„We, DAppNode, have set up to empower everyone, regardless of their technical ability, to be able to break free of any centralization and possibility of access censorship by running their own node and host their favourite DApps.” (DAppNode Docs — What is DAppNode)
The Setup
DAppNode offers its own hardware, on which the software is already installed. This is associated with a surcharge compared to the pure hardware. However, DAppNode has a collaboration with Gnosis chain, where you receive Gnosis validator Tokens (GNO) for the order so that the stake is already provided. You also get some NODE tokens to participate in DAppNode governance (some decisions are made by a DAO).
I opted for the “small” version, consisting of an Intel mini-computer with 16 GB RAM and a 2 TB hard drive. This is enough to run several chains on it. The package came with a short manual and a welcome letter.
DAppNode provides a simple dashboard that can be accessed by connecting to the node. The heart of the dashboard is the so-called “DAppStore”, where a whole range of chains are available. By default, only the packages that have been checked by DAppNode are displayed. However, you can also display all packages (since it is open-source, anyone can offer a package). A total of almost 150 packages are available (including not only blockchain nodes, but also DApps or P2P clients).
In the dashboard, you can also see some analytics about utilization and storage space, as well as logs about whether the packages are running properly. You can also set up some additional functions, like notifications or a VPN option (if you want to access the node when you’re not at home).
As it is an open-source project, there is not really a support team. However, DAppNode has a large Discord community and a forum, where you are very likely to get an answer (tip: always use the search function first).
Which chains I selected
Bitcoin
- Part of the must-do program: The Bitcoin Blockchain was downloaded in a few hours.
- Bitcoin is the blockchain par excellence that people synchronize out of goodwill (without expecting a return). However, the fact that the blockchain is not that big and grows only slowly speaks in its favour.
- Bitcoin has deliberately kept the block-time and block-size small to hold the hardware requirements low, even if that means Bitcoin scales not very well. This is a good example of the scaling trilemma.
Lightning
- In addition to Bitcoin, you can install a Lightning package: This is a scaling solution on Bitcoin, which allows very cheap transactions using payment channels.
- As a Lightning node, you can open such channels: Then you have to deposit some Satoshis as liquidity so that other network participants can route corresponding sums via Lightning.
- DAppNode has integrated “Ride The Lightning (RTL)” for this, a software which can monitor the Lightning node and manage channels.
- You can learn more about the Lightning network here.
Gnosis chain
- Gnosis is an example of a proof-of-stake chain. The setup is a little different than with Bitcoin, because this time I wanted to deposit a stake to earn rewards. This means I had to connect a key pair with the Gnosis validator tokens (which then participate in the Proof-of-Stake).
- To do this, you had to work with the terminal and use Docker, but there are good guides for how to set this up with DAppNode. The most difficult part was actually that I needed a small amount of xDAI on Gnosis chain (works like gas on Ethereum) to pay for the transfer of the validator tokens (there are bridges, but they can be expensive).
- Important: The stake is not mandatory to run a node, you just won’t get any rewards without it (as written above, there can be other reasons to run a node).
There is still much space left on the DAppNode, so eventually, I’ll add other packages.
Rewards: every little bit helps
With most chains, the annual pay-outs are in the single-digit percentage range, rarely they go up to 15% or 20%. Anything else would be unsustainable for a network. There are projects with higher rewards, but inflation puts pressure on the token price.
It is in the interest of a network that inflation is balanced, but still, the incentive is great enough to run a node. Most PoS-chains, therefore, have a “rewards curve” depending on how many validators are in the network (here the example for Gnosis chain).
You can get rich quicker with price speculation than with running a node. It is therefore not really a good idea to buy a node just for the rewards. If you run an Ethereum node (the stake here is 32 ETH after all), the rewards naturally become more relevant.
On the other hand, a node is a nice opportunity to earn some extra money passively. And at the same time, you get the good feeling of being part of a network.
This article was written as part of “DeFi Talents”, an 18-week long mentoring program covering decentralized finance.
Resources
- Bitcoin Q&A, Why Running a Node is Important: https://www.youtube.com/watch?v=oX0Yrv-6jVs
- DAppNode website and shop: https://dappnode.io/
- DAppNode Youtube tutorials: https://www.youtube.com/channel/UCKnEqk4yVMN_Z6B8ikloYYA
- Ethereum.org, run a node: https://ethereum.org/en/run-a-node/
- The Ethereum cloud vs. on-premises nodes conundrum: https://chainstack.com/the-ethereum-cloud-vs-on-premises-nodes-conundrum/
- Why you should own a bitcoin Node: https://bitcoinmagazine.com/culture/six-reasons-you-should-run-bitcoin-node