Running a Node Overview¶
Running a node is a key way to help decentralize the network and provide a network access point for systems built on top of nano. Before setting up a node we recommend reviewing the following details in order to understand more about the motivations for running, required upkeep, types and recommended specifications for nodes.
Why run a node?¶
By design, the incentives for running a nano node are not built into the network itself, but instead are external. This is an important difference compared to nearly all other cryptocurrency networks and allows nano to operate securely without transaction fees.12 These indirect, external incentives include the following and more:
- Advertising exposure from their representative showing up on curated representative lists
- Transaction fee savings for businesses and organizations accepting nano as payment
- Helping support and further decentralize a global payment network
- Having a trusted access point for building additional software on the network
Regardless of the motivation for running a node, it will only benefit the network if proper care is taken to ensure it is run on correctly provisioned machines and ongoing maintenance of the node, OS and any supporting systems are routinely done.
Dedicated Representative nodes recommended
Due to the resources needed to participate in the voting process, it is recommended that any node setup as a Representative should be dedicated to generating consensus. If the resources of the Representative are used for other activities, such as application integrations, it reduces the potential benefit that node brings to the network.
Review Node security guide
Regardless of the type of node you are planning to run, make sure to review the Node security guide to ensure best practice with configuration, firewalls and more.
When first setting up a node it will not be configured to participate in consensus by voting on traffic. This type of node is common and is recommended for all integrations. If your goal in setting up a node is to learn how to integrate and use nano for payments, this is the best starting point. If you want to dedicate resources to help secure consensus on the network, then a Representative node should be explored.
Representatives and voting
For a very brief overview of how representatives and voting works in the nano network, see the What is nano? page. If you're looking to dig deeper, the ORV consensus section of the living whitepaper helps explain further how consensus works.
If a node is setup with a Representative account, is configured to vote and has less than 0.1% of online voting weight delegated to them, they are a considered Representative node. These nodes will validate and vote on transactions seen on the network. Their votes will be directly sent to a subset of their peers, but other nodes on the network will not rebroadcast their votes.
Principal Representative nodes¶
Representative nodes with at least 0.1% of the online voting weight delegated to them participate more broadly in network consensus because votes they send to their peers are then rebroadcasted by those nodes as well. These "PR" nodes have the most impact to the security and availability of the network so keeping them secure and following maintenance recommendations should be taken seriously.
Becoming a Principal Representative
With the ability for any user on the network to redelegate their voting weight, even an account with no weight today can become a Principal Representative over time.
Nodes consume CPU, RAM, disk IO and bandwidth IO resources, all of which come at a cost. In order to keep the node participating and in-sync, the recommended specifications for machines based on node type below should be followed.
Principal Representative Nodes¶
The following are minimum recommended specifications for nodes with more than 0.1% of the online voting weight (Principal Representatives):
- 16GB RAM
- Quad-Core or higher CPU
- 500 Mbps bandwidth (8TB or more of available monthly bandwidth)
- SSD-based hard drive with 400GB+ of free space
Non-voting and Representative Nodes¶
The following are minimum recommended specifications for non-voting nodes and Representative nodes with less than 0.1% of the online voting weight (regular Representatives):
- 8GB RAM
- Quad-Core CPU
- 250 Mbps bandwidth (4TB or more of available monthly bandwidth)
- SSD-based hard drive with 400GB+ of free space
Varied resource usage
Various factors affect resource usage including how often RPC calls are made, other applications running on the machine, etc. These recommendations should be evaluated along with other considerations.
Work Generation guide
For nodes being used with services requiring regular or high volume sending and receiving of transactions, special considerations must be made for handling Proof-of-Work generation activities. Find details on configuring a GPU, external work services and more for the perfect setup in the Work Generation guide.
With any system, ongoing maintenance must be taken into account to avoid issues. The following are a few examples of regular activities that should be committed to, especially when running a Representative or Principal Representative node:
- Performing OS-level updates and security patches regularly applied
- Upgrading to the latest node versions as they are available
- Following best practices for securing passwords or other sensitive data related to the node
Without taking care of the security and maintenance of systems hosting the node, any benefit to the network could be lost. Continue learning about how best to keep the node secure in our Node security guide.