Running a Flora Node: Hardware and Software Requirements
The official guide on running a Flora Devnet node
Whether you're interested in running a node becoming a validator, this guide has everything you need to get started.
For full up-to-date Flora Network technical details, please visit our GitHub.
What this guide covers:
Standard (Non-Validating) Node Requirements
A standard node is a great way to interact with the Flora Network without the responsibilities of a validator. These nodes are essential for developers and users who want to query the blockchain, submit transactions, and build applications.
Hardware Recommendations
The hardware required to run a standard node can vary depending on your use case. Here are some general guidelines:
CPU
2+ Cores
4+ Cores
RAM
8 GB
16 GB or more
Storage
500 GB SSD
1 TB NVMe SSD or more
Network
10+ Mbit/s
25+ Mbit/s
Software Requirements
Operating System: A Linux-based operating system is recommended. Ubuntu 20.04 LTS or later is a popular choice.
Go: You will need to have Go installed to build the necessary binaries. The version of Go required can vary depending on the specific Flora SDK version, so always check the official documentation for the chain you are running.
Ignite CLI (formerly Starport): While not strictly required, the Ignite CLI can simplify the process of setting up and running a node.
Validator Node Requirements
Validators are the backbone of the Flora network. They are responsible for securing the network by proposing and voting on new blocks. Running a validator is a significant responsibility that requires a more robust hardware setup and a deeper technical understanding.
Hardware Recommendations
To ensure the stability and security of the network, validator hardware requirements are significantly higher than those for a standard node.
CPU
4+ Cores (Physical)
8+ Cores (Physical)
RAM
16 GB
32 GB or more
Storage
1 TB NVMe SSD
2 TB+ NVMe SSD
Network
100+ Mbit/s
1 Gbit/s
Critical Considerations for Validators:
High IOPS: Validators perform frequent read/write operations. A high-performance NVMe SSD with high IOPS (Input/Output Operations Per Second) is crucial to avoid missing blocks and getting "jailed" (temporarily removed from the active validator set).
Redundancy: To maintain high uptime, consider redundant power supplies, internet connections, and even a backup server.
Security: A Hardware Security Module (HSM) is highly recommended for securely storing your validator private keys.
Sentry Node Architecture (Recommended for Validators)
To protect your validator node from DDoS attacks and other threats, it is best practice to use a sentry node architecture. In this setup, your validator node only communicates with a set of trusted "sentry" nodes that you also control. These sentry nodes are then exposed to the public network.
This architecture adds a layer of security by hiding the IP address of your validator node.
Software and Operational Requirements
In addition to the software requirements for a standard node, validators should also consider:
Monitoring and alerting: Set up a robust monitoring system to track your node's performance and receive alerts for any issues.
Connecting to the Flora Chain
Once your node is set up, you need to configure it to connect to the correct Flora network. This involves initializing your node, grabbing the correct genesis file, and configuring network peers.
1. Initialize Your Node
First, you need to initialize your node to create the necessary configuration files.
Replace <your_moniker> with a name for your node:
florad init <your_moniker> --chain-id floraThis command creates a ~/.flora directory with your config/ and data/ folders.
2. Get the Genesis File
The genesis file is the foundational block of the blockchain. You must use the official genesis file to join the correct network.
wget -O ~/.flora/config/genesis.json https://github.com/flora-labs/flora/raw/main/networks/mainnet/genesis.json3. Configure Network Peers
To connect to other nodes on the network, you need to add their addresses to your configuration. These are known as persistent peers.
Open your ~/.flora/config/config.toml file and find the persistent_peers line. Add the following peer addresses:
persistent_peers = "e0cf3857317789f478643503b12365287310f848@138.201.21.21:26656"4. Start Your Node
Now you are ready to start your node and begin syncing with the Flora blockchain.
florad startYour node will begin connecting to the peers you specified and downloading the blockchain history. This process can take some time, depending on your hardware and network speed.
Last updated