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

🎣 Fast Catchup


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CatchupFailurePeerRefreshRate1000

Description:

Specifies the maximum number of consecutive attempts to Fast Catchup after which peer connections are replaced.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CatchupParallelBlocks163 (default was 50)5

Description:

Is the maximum number of blocks that the Fast Catchup will fetch in parallel. If less than Protocol.SeedLookback, then Protocol.SeedLookback will be used to limit the catchup. Setting this to 0 would disable the catchup.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CatchpointInterval1000077

Description:

Defines how often a Catchpoint is generated, measured in rounds. These Ledger snapshots allow nodes to sync quickly by downloading and verifying the Ledger state at a specific round instead of replaying all transactions. Setting this to 0 disables the Catchpoints from being generated.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CatchpointFileHistoryLength36577

Description:

Defines how many Catchpoint Files to store. A value of 0 means don’t store any, -1 means unlimited; a positive number suggests the maximum number of most recent Catchpoint Files to store.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CatchupHTTPBlockFetchTimeoutSec499

Description:

Sets the maximum time (in seconds) that a node will wait for an HTTP response when requesting a block from a Relay Node during Fast Catchup. If the request takes longer than this timeout, the node abandons the request and tries with another Relay Node.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CatchupGossipBlockFetchTimeoutSec499

Description:

Controls how long the gossip query for fetching a block from a Relay Node would take before giving up and trying another Relay Node.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CatchupLedgerDownloadRetryAttempts5099

Description:

Controls the number of attempts the Ledger fetcher would perform before giving up the Fast Catchup to the provided Catchpoint.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CatchupBlockDownloadRetryAttempts100099

Description:

Controls the number of attempts the Block fetcher would perform before giving up on a provided Catchpoint.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CatchpointTracking01111

Description:

Determines if Catchpoints are going to be tracked. The value is interpreted as follows:

  • -1: Do not track Catchpoints.
  • 1: Track Catchpoints as long as CatchpointInterval > 0.
  • 2: Track Catchpoints and always generate Catchpoint Files as long as CatchpointInterval > 0.
  • 0: Automatic (default). In this mode, a Non-Archival node would not track the Catchpoints, while an Archival node would track the Catchpoints as long as CatchpointInterval > 0.
  • Any other values of this field would behave as if the default value was provided.

Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
MaxCatchpointDownloadDuration4320000000000013 (default was 7200000000000)28

Description:

Defines the maximum duration for which a client will keep the outgoing connection of a Catchpoint download request open for processing before shutting it down. In Networks with large Catchpoint files, slow connections, or slow storage could be a good reason to increase this value.

This is a client-side only configuration value, and it’s independent of the actual Catchpoint file size.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
MinCatchpointFileDownloadBytesPerSecond204801313

Description:

Defines the minimal download speed that would be considered to be “acceptable” by the Catchpoint file fetcher, measured in bytes per second. The connection would be recycled if the provided stream speed drops below this threshold. If this field is 0, the default value would be used instead.

The download speed is evaluated per Catchpoint “chunk”.


Parameter NameDefault ValueIntroduced in VersionLast Updated in Version
CatchupBlockValidateMode00001616

Description:

A configuration used by the Fast Catchup service. It can be used to omit certain validations to speed up the synchronization process, or to apply extra validations. The value is a bitmask (where bit 0 is the LSB and bit 3 is the MSB).

The value of each bit is interpreted as follows:

  • bit 0:

    • 0: Verify the block certificate.
    • 1: Skip this validation.
  • bit 1:

    • 0: Verify payset committed hash in block header matches payset hash.
    • 1: Skip this validation.
  • bit 2:

    • 0: Skip verifying the transaction signatures on the block are valid.
    • 1: Verify transaction signatures in the block.
  • bit 3:

    • 0: Skip verifying that the recomputed payset hash matches the payset committed hash in the block header.
    • 1: Perform verification as described above.

Not all permutations of the above bitmask are currently functional. In particular, the functional ones are:

  • 0000: Default behavior, perform standard validations and skip extra validations.
  • 0011: Speed up synchronization, skip standard and extra validations.
  • 1100: Pedantic, perform standard and extra validations.