Configuring a Neo Blockchain Node
What is and how to configure a Neo Node
A Neo node is a server that maintains an up-to-date copy of the Neo blockchain ledger. Nodes validate and relay transactions to other network participants. RPC nodes offer an API that allows developers to interact with the blockchain programmatically.
This article explains how to configure a Neo node using Neo-CLI and Neo Go on Windows, macOS, and Linux. For more information on blockchain nodes, read the Blockchain Node article.
Configuration Steps
There are two implementations of Neo nodes: Neo-CLI and Neo-Go. Both clients are cross-platform and can be run on Windows, macOS, and Linux. Neo-CLI is the official C# client, while Neo Go is an alternative implementation.
The recommended system requirements for running a Neo node are:
- Operating System: Windows, macOS, or Linux
- Processor: Dual-core CPU or higher.
- Memory: 8 GB RAM.
- Storage: 100 GB or more of free disk space.
Neo CLI Installation Steps
Download the Neo-CLI Client:
- Visit the Neo repository and download the latest release.
- Select the appropriate version for your operating system (Windows, macOS, or Linux).
Extract the Downloaded Archive:
- Extract the downloaded archive and put it in a folder on your system.
Configure the Node(optional):
- Review the configuration options in the
config.json
file. By default, the node will connect to the Main Net. To connect to the Test Net, replace the contents of theconfig.json
file with theconfig.testnet.json
file.
- Review the configuration options in the
Start the Node:
Open a terminal or command prompt and navigate to the extracted folder.
Run the following command to start the node:
Install the RPC Plugin (optional):
To install the plugin, run the following command in the Neo-CLI terminal:
Restart neo-cli.
The RPC server will be available at
http://localhost:10332
by default.(Optional) Allow remote RPC access by setting the
BindAddress
to0.0.0.0
in thePlugins/RpcServer/config.json
file.
Install the TokenTracker Plugin (optional):
The token tracker plugin allows you to track balances for tokens.
Restart neo-cli.
This plugin requires resyncing the blockchain.
Sync the Node:
- Check the node’s synchronization status using the
show state
command. - Wait for the node to sync with the blockchain.
- This process takes time and depends on the network speed and the size of the blockchain.
- Check the node’s synchronization status using the
Neo Go Installation Steps
Download the Neo-Go Client:
- Visit the Neo-Go repository and download the latest release.
- Select the appropriate version for your operating system (Windows, macOS, or Linux).
Extract the Downloaded Archive:
- Extract the downloaded archive and put it in a folder on your system.
Create a Configuration File:
- Create a
config
folder in the extracted directory. - Download the
protocol.mainnet.yml
andprotocol.testnet.yml
files from the Neo-Go repository and place them in theconfig
folder. - By default, RPC is enabled on port 10332.
- Create a
Start the Node:
Open a terminal or command prompt and navigate to the extracted folder.
Run the following command to start the node:
The node will automatically start syncing the blockchain.
RPC Node Security Best Practices
Running an RPC server exposes your node to incoming connections. Follow these best practices to avoid security risks:
- Use a firewall: Limit incoming connections to your RPC server by configuring your firewall.
- Keep software updated: Regularly update your OS and client software to patch security vulnerabilities.
- Use HTTPS: Use secure connections to protect data transmitted between the client and server.
- Rate limiting: Implement rate limiting to prevent abuse and protect your server from denial-of-service attacks.
- Use port 443: Use port 443 for HTTPS connections to avoid firewall restrictions.
- Put the RPC server behind a proxy: Use a reverse proxy or load balancer to protect your server from direct exposure.
Deploying Using 1ClickNode
If you prefer a more user-friendly approach to deploying a Neo node, you can use 1ClickNode.
1ClickNode is a platform that allows the deployment of a Neo node in a few clicks. It provides a user-friendly interface to set up and manage a Neo node without the need for manual configuration.
Visit the 1ClickNode website to get started.
Join the Linkd Academy Community
If you have questions about Neo or want to learn more about blockchain technology, join the Linkd Academy Discord.