There are two types of nodes and each Block Producer runs multiple nodes.
Block Producing Nodes are nodes that are configured to produce blocks in a FIO-based blockchain. This functionality if provided through the producer_plugin as well as other Nodeos Plugins. They connect to the peer-to-peer network and actively produce new blocks. Loose transactions are also validated and relayed. On Mainnet, Producing Nodes only produce blocks if their assigned block producer is part of an active schedule.
Front-End Non-Producing Nodes connect to the peer-to-peer network but do not actively produce new blocks. Instead, it is connected and synchronized with other peers from a FIO-based blockchain, exposing one or more services publicly or privately by enabling one or more Nodeos Plugins, except the producer_plugin. They are useful for acting as proxy nodes, relaying API calls, validating transactions, and broadcasting information to other nodes. Non-Producing Nodes are also useful for monitoring the blockchain state.
FIO nodes need to be built on robust hardware.
I run 100% bare metal servers located in Northern Virginia, USA. The servers are equipped with the very latest AMD technology with Ryzen 5 3600X – 6 cores at 3.8GHz which when combined with the speed of NVMe SSD storage, and water cooling guarantees optimal performance. Node speeds and performance are monitored by various sites, and slower nodes loose votes so it’s really worth the investment in hardware,