What you need to know before configuring the Algorand Archival and Indexer Modes for Relay and Non-Relay Nodes.
The core of the Algorand network is a set of distributed nodes (database) that process, store and relay backed up information back to users. The network is configured to have two types of nodes, which perform different functions on the Algorand chain. These nodes are the Relay and Non-relay (participation) nodes. To achieve full decentralisation, the Algorand network has separated these two-network configurations though the code base and setup are all the same. I recently made an infographic outlining the differences albeit minor. You can see the infographic below. However, in the configuration of these nodes, there are two major modes or settings that will give you different functionalities on the node that you set up.
The first mode configuration is the *Archival Mode*. From the infographic above, the Algorand Non-Relay nodes’ main function is to participate in block consensus and communicate that to the relay nodes for storage and distribution. Relay nodes keep historical data of the blocks produced and redistribute across the network for future reference. By default, the Non-relay nodes are not configured to store historical data and can store up to the last 1000 blocks produced. They will lose previous blocks information from the local copy but they can, however, still read historical data from the relay nodes. In spite of this, Non-relay nodes can decide to change their configuration settings to perform like relay nodes. For this to happen, developers need to set the Archival parameter to TRUE, make it assume the capability to store the entire ledger information. By setting Archival Mode to True, you will need to increase your disk space by over 95% to store 36 hours of ledger information than previously. This is because your node will now need to store more information. Non-relay nodes can be configured either as archival nodes or non-archival nodes while Relay nodes by default are set to archival mode since that is their core function; to store information for retrieval by users.
The second configuration is the Indexer mode. This setting only works if the archival mode is set to TRUE as previously discussed. Indexing will increase the search speed for transactions in the relay nodes which store volumes of data. With Indexer mode, two REST API endpoints are available for faster search. You can search by transaction ID (txid) or by date range. Examples are giving below
To activate the Indexer mode, you should set the parameter *isIndexerActive* to *TRUE* in your configurations. The archival and indexer modes work together to improve the Algorand search performance on relay nodes. Non-relay nodes can also run these settings.