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:

Component
Minimum Requirements
Recommended Spec

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

Note on storage:

The Flora blockchain is constantly growing. While 500 GB is a good starting point, you should plan for future storage needs. An NVMe SSD is highly recommended for faster synchronization and performance.

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.

Component
Minimum Requirements
Recommended Specs

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.

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 flora

This 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.json

3. 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 start

Your 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