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

💾 Storage & Archival


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
Archivalfalse00

Description:

Enables saving a full copy of the blockchain history. Non-Archival nodes will only maintain the necessary state to validate blockchain messages and participate in the consensus protocol. Non-Archival nodes use significantly less storage space.

The Archival parameter enables the node to save the complete history of the blockchain starting from the moment this setting is activated. Therefore, this setting must be enabled before you start the node for the first time. If the node has already been running without this setting enabled, the existing databases must be deleted and fully synchronized from the genesis.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
HotDataDirEmpty string3131

Description:

An optional directory to store data frequently accessed by the node. For isolation, the node will create a subdirectory in this location, named by the network genesisID The node uses the default data directory provided at runtime if not specified. Individual resources may override this setting. Setting HotDataDir to a dedicated high-performance disk allows for basic disk tuning.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
ColdDataDirEmpty string3131

Description:

An optional directory for storing infrequently accessed data. The node creates a subdirectory within this location, named after the network genesisID The node uses the default data directory provided at runtime if not specified. Individual resources may have their own override settings, which take precedence over this value. A slower disk for ColdDataDir can optimize storage costs and resource allocation.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
TrackerDBDirEmpty string3131

Description:

An optional directory to store the tracker database. For isolation, the node will create a subdirectory in this location, named by the network genesisID. If not specified, the node will use the HotDataDir.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
BlockDBDirEmpty string3131

Description:

An optional directory to store the block database. For isolation, the node will create a subdirectory in this location, named by the network genesisID. If not specified, the node will use the ColdDataDir.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CatchpointDirEmpty string3131

Description:

An optional directory to store Catchpoint Files, except for the in-progress temporary file, which will use the HotDataDir and is not separately configurable. For isolation, the node will create a subdirectory in this location, named by the network genesisID. If not specified, the node will use the ColdDataDir.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
StateproofDirEmpty string3131

Description:

An optional directory to persist state about observed and issued state proof messages. For isolation, the node will create a subdirectory in this location, named by the network genesisID. If not specified, the node will use the HotDataDir.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CrashDBDirEmpty string3131

Description:

An optional directory to persist Agreement participation state. For isolation, the node will create a subdirectory in this location, named by the network genesisID. If not specified, the node will use the HotDataDir


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
OptimizeAccountsDatabaseOnStartupfalse1010

Description:

Controls whether the Account database would be optimized on algod startup.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
LedgerSynchronousMode21212

Description:

Defines the synchronous mode the Ledger database uses.

The supported options are:

  • 0: SQLite continues without syncing as soon as it has handed data off to the operating system.

  • 1: SQLite database engine will still sync at the most critical moments, but less often than in FULL mode.

  • 2: SQLite database engine will use the VFS’s xSync method to ensure all content is safely written to the disk surface before continuing.

  • 3: In addition to what is being done in 2, it provides some guarantee of durability if the commit is followed closely by a power loss.

For further information, see the description of SynchronousMode.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
AccountsRebuildSynchronousMode11212

Description:

Defines the synchronous mode the Ledger database uses while the Account database is being rebuilt. This is not a typical operational use-case, and is expected to happen only on either startup (after enabling the Catchpoint Interval, or on certain database upgrades) or during fast catchup. The values specified here and their meanings are identical to the ones in LedgerSynchronousMode.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
MaxAcctLookback42323

Description:

Sets the maximum lookback range for Account states.

📎 EXAMPLE

The Ledger can answer Account state questions for the range [Latest - MaxAcctLookback, Latest].


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
MaxBlockHistoryLookback03131

Description:

Sets the maximum lookback range for Block information.

📎 EXAMPLE

The Block DB can return transaction IDs for questions for the range [Latest - MaxBlockHistoryLookback, Latest]


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
StorageEnginesqlite2828

Description:

Sets the type of storage to use for the Ledger. Available options are:

  • sqlite (default).
  • pebbledb (experimental, in development).