How to Run an Ethereum Node
A decentralized blockchain like Ethereum guarantees permissionless access to the Ethereum network for everyone, is censorship-resistant (anyone can transact within the network), and immutable (transactions are final). But to truly benefit from these guarantees under all circumstances, users must run their personal network node to be directly connected to the network.
Users accessing the Ethereum network through a wallet provider like MetaMask or a crypto exchange like Binance or Coinbase can be denied access by these providers. Only users running their personal Ethereum nodes are directly connected to the Ethereum network and are thus guaranteed to enjoy unrestricted access to the network.
In the following article we explain the different types of Ethereum nodes that exist and provide a step-by-step guide on how to set up your own network node.
What Is an Ethereum Node?
A “node” is a computer that is part of a computer network. An Ethereum node is a computer that runs Ethereum client software and is connected to the Ethereum network. The client software verifies all transactions in each of Ethereum’s blocks according to the network’s rules. It helps to keep the network secure and the data accurate.
More here: Ethereum Nodes Vs. Clients
In the Ethereum network, there are three basic types of nodes. They differ in the way they consume and store data.
Full nodes store a full copy of the entire blockchain on the computer running the node. Currently, the Ethereum blockchain data size is around 800–1000 gigabytes, although the blockchain is periodically pruned to reduce nodes’ data-storage requirements.
Full nodes participate in block validation and verify every block and state to secure the network. More specifically, they check if the block rewards given to miners are correct for each block, if transactions have the correct signatures and are in the correct data format, and make sure no double-spending is occurring in any of the blocks. Additionally, they provide data to the network and to other nodes.
Light nodes only store the block headers instead of downloading the full blockchain. Other information is requested from full nodes when required. Light nodes allow users to participate in the Ethereum network without running powerful hardware and requiring high bandwidth. Light nodes do not participate in block validation. Typical use cases are smartphone applications.
Archive nodes store all the blockchain data since the Ethereum genesis block. This amount of data is in the terabytes and can hardly be handled by a regular computer. Archive nodes are needed if services require data that has already been pruned from the Ethereum blockchain.
How to set up and run an Ethereum node
Running an Ethereum node consists of running software with hardware while being connected to the internet. In the early days of the Ethereum network, users needed to interact with the command-line in order to operate an Ethereum node. Today, users have the option to use DAppNode, which is free and open-source software providing users with an app-like experience while managing their node.
Below you‘ll find a step-by-step guide on how to set up your Ethereum node in a few simple steps.
Step 1: Local or Cloud
Ethereum nodes can be run on personal computers and don’t require special hardware. Nevertheless, there is the option to run a node on a cloud server like QuickNode, Blockdaemon, LunaNode, or Alchemy. However, for censorship-resistant and permissionless access to the network, users should not rely on cloud providers. It’s safer to run your node on your personal hardware.
Step 2: Buying Hardware
Ethereum has been designed in a way that nodes can be run on personal computers. Nevertheless, it can make sense to buy dedicated hardware to enhance your node’s performance.
-> A cheaper and more customizable option is building or using your own device. Minimum specs as listed on the Ethereum webpage are:
4–8 GB Ram
2 TB SSD
Intel NUC, 7th gen. or higher
Step 3: Choose Software
Once the hardware is ready, users can choose different software options to run their node with.
Users running the Ethereum node on their personal computer or self-built device can choose from at least five different Ethereum client software options. The vast majority (>80%) uses Geth software to run their nodes.
Before installing and starting the software, make sure that:
- There is enough disk space.
- Memory and CPU are not halted by other programs.
- Operating system is updated to the latest version.
- System has the correct time and date.
- The router and firewall accept connections on listening ports. By default, Ethereum clients use a listener (TCP) port and a discovery (UDP) port, both on 30303 by default.
For detailed instructions on how to set up and use the client software, see Ethereum’s webpage here.
Step 4: Operating the Node
Once your node is up and running, you should monitor it regularly to ensure it runs properly.
- Keep the node online. It doesn’t have to be online 24/7 but it should be online as much as possible to stay in sync with the Ethereum network.
- Keep the software updated. This ensures that your node runs with the latest patches, features, and EIP updates.
Further instructions by Ethereum on how to operate the node properly can be found here.
How much money do Ethereum nodes make?
Currently, there is no monetary incentive to run an Ethereum node. Many node operators are also miners and are rewarded via block rewards for their participation in the network. Non-mining nodes are often motivated by their desire to ensure private, permissionless, and censorship-resistant access to the Ethereum network.
How much does it cost to run an Ethereum node?
Running an Ethereum node is relatively cheap. In contrast to Ether mining, there is no need to invest in powerful GPUs or ASICs. Running an Ethereum node can be done on personal computers. All that is needed is sufficient disk space (> 2TB SSD) and a high-bandwidth internet connection. If such hardware is available to a user, the only incurring costs are the electricity bills for running a computer 24/7.
How to stake Ether on your Ethereum node
If you are planning to stake Ether via your personal node, Ethereum recommends investing in advanced hardware. According to the Ethereum website, to maximize the efficiency of a validator [node], a minimum of 16 GB RAM is recommended, but 32 GB is better, with a CPU benchmark score of 6667+ on cpubenchmark.net. It is also recommended that stakers have access to unlimited high-speed internet bandwidth, though this is not an absolute requirement.
For instructions on how to stake your 32 ETH on your personal note, see here.