Follower Node - Algorand Specifications

Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Algorand Specifications

Unlike a Full Node, a Follower Node is a lightweight type of Algorand node designed primarily for data access, not participation in consensus or transaction validation.

Key characteristics:

These nodes are ideal for read-heavy infrastructure, such as block explorers or services that require continuous blockchain observation and access to its data but don’t contribute to block validation or propagation.

The pseudocode below outlines the main steps involved when initializing an algod Follower Node:


Algorithm2: Follower Node Initialization
1: function FollowerNode.Start(rootDir,nodeConfig,phonebookAddrs,genesisBlock) 2: node←new FollowerNode
3: node.log←Logger(nodeConfig)
4: node.genesisBlock.ID←genesisBlock.ID()
5: node.genesisBlock.ID←genesisBlock.Hash()
6: Network Initialization - WebSocket Only
7: node.Network←CreateWSNetwork(phonebookAddrs)
8: node.Network.DeregisterMessageInterest(AgreementVoteTag,ProposalPayloadTag,VoteBundleTag)
9: Crypto Resource Pools Initialization - Minimal
10: node.CryptoPool←CreateExecutionPool()
11: node.CryptoPool.lowPriority←CreateBacklogPool()
12: Ledger Initialization
13: ledgerPaths←ResolvePaths(rootDir,nodeConfig)
14: node.Ledger←LoadLedger(ledgerPaths,genesisBlock)
15: Service Components - Limited
16: node.BlockService←CreateBlockService()
17: node.CatchupService←CreateCatchupService()
18: node.CatchupBlockAuthenticator←CreateBlockAuthenticator()
19: Transaction Handling - Simulation Only
20: disableTxBroadcast()
21: disableTxPool()
22: Agreement - All Disabled
23: disableAccountManager()
24: disableAgreement()
25: disableStateProof()
26: disableHeartbeat()
27: SetSyncRound(node.Ledger.LatestTrackerCommittedRound()+1)
28: if InCatchpointCatchupState() then
29: InitializeCatchpointCatchup()
30: end if
31: return node
32: end function


Compared to a Full Node, a Follower Node is significantly lighter in functionality and system demands.

Below are the main differences:

Unlike Full Nodes, which support multiple network layer options (such as standard Peer-to-Peer and Hybrid Networks), Follower Nodes operate only in WSWS mode. This simplifies peer communication but limits participation to passive synchronization.

A Follower Node initializes only one low-priority cryptographic verification pool. This minimal setup is enough for passive data validation without handling transaction traffic or cryptographic voting.

Follower Nodes expose a specialized API to retrieve Ledger cache data, used by external services to index, analyze, or react to blockchain events without interfering with node operation.

For more on this functionality, refer to the Algorand External Systems Overview.

The Follower Node does not broadcast transactions and does not participate in consensus. It is read-only and does not propose, vote on, or validate blocks.

Only two core services are active:

Despite its limited role, a Follower Node still maintains full Catchup capabilities, allowing it to fast-forward to the latest state using checkpoint data.

This operative mode allows the node to pause block progression until external data consumers (such as indexers or analytics tools) have finished ingesting the current block. This ensures data consistency across services that rely on up-to-date chain data.