Hello Node Operator!
Flow nodes are vital components of the Flow blockchain. These nodes are responsible for a variety of network operations to maintain the distributed ledger.
Why run a node?
By running your own node, you have direct access to the evolving state of the network, without having to rely on third parties. This increases privacy and security, reduces reliance on external servers, and helps balance load distribution. By running a node, you also directly contribute to the security and decentralization of the whole network.
Flow multirole architecture makes it more scalable and provides several node types that you as a node operator can pick and choose from.
Which node should you run?
The different types of nodes are described here. As node operator, you can choose to run any of the different types of node that best fits your needs.
Light client a.k.a. Observer node
The light client is one of the easiest node to spin up and can be run by Dapp developers who need the latest block data available locally e.g. a wallet application that needs to track the latest block ID and height. In addition to supporting dapps, an observer node can also be run by access node operators who want to scale their access nodes' endpoints. Access node operators can spin up geographically dispersed observer nodes which can talk to their staked access nodes and to each other.
The observer node is not staked but still provides the same API as the access node.
To run a light client, follow this guide.
Archive node
The Archive node provides a scalable and efficient way to access the history of Flow protocol and the execution state for the current spork. Like the observer node, it too can be run by anyone without being staked or added to the approved list of nodes. The Archive node follows the chain, stores and indexes both protocol and execution state, and allows retrieval of blocks, collections, transactions and events from the genesis of the current spork.
It also allows script execution and other read-only queries that require the execution state to be read. It can answer any queries from past data e.g. “what was the Flow account balance at height X?”, where X is several thousand blocks in the past.
The archive node is currently in beta and will be available as a GA release in H2 2023 (see here for more)
Full node
A Full node is staked node that serves the network by providing data on request (i.e. gets and shares data on the p2p network).
- The Access node is a full node that serves as an RPC node and acts as a gateway node for the network.
- The Validator node (Collection, Consesnus, Verification and Execution) is a full node that plays a role in block generation.
Access node
If you want local access to the protocol state data (blocks, collections, transactions) and do not want to use one of the community access nodes you can run an access node. Dapp developers, chain explorers, chain analytics etc. who want exclusive access to chain data and not be subject to the rate-limits on the community access node can choose to run an access node.
An access node is staked but since it does not participate in the core Flow protocol, it does not receive any staking rewards. To run an access node, see the Running a staked node section below.
Alternately, instead of running an access node, you can use the Flow community access nodes or the ones run by any of the other node operators.
Validator node
If you want your node to participate in the nitty-gritty of Flow protocol and help in block or collection creation, transaction execution, result verification or block verification then you should run one of these four node roles -
- Collection
- Consensus
- Verification
- Execution
Nodes with these roles are staked and also receive staking rewards.
Running a staked node
To run a staked node (node type access, collection, consensus, verification or execution) the node must:
- be registered with sufficient stake
- be authorized by the service account
Before proceeding, ensure you have the stake required for your new node and that your node will be authorized by the service account (apply here).
To set up a new Flow node you will need to complete the following steps:
-
Provision the machine on which your node will run.
-
Generate and register your node identity.
-
Start your node!