Peer Snapshot Configuration
Peer Snapshot Configuration
Section titled “Peer Snapshot Configuration”Overview
Section titled “Overview”This reference describes the peerSnapshotFile setting in Dingo’s topology.json and the checks that a peer snapshot must pass at startup. The supported snapshot format is cardano-node’s peer-snapshot.json with NodeToClientVersion set to 23.
Configure peerSnapshotFile
Section titled “Configure peerSnapshotFile”Add peerSnapshotFile to topology.json to reference a peer snapshot:
{ "peerSnapshotFile": "peer-snapshot.json"}Dingo resolves the peerSnapshotFile path relative to the topology.json file.
Snapshot requirements
Section titled “Snapshot requirements”The snapshot must meet all of the following requirements:
- Set
NodeToClientVersionto23. - Specify
NetworkMagicand set it to the node’s configured network magic. - Set
Point.blockPointHashto exactly 64 hexadecimal characters, representing 32 bytes. - Include
Point.blockPointSlotas part ofPoint. Dingo applies no additional constraint to its value. - Populate exactly one of
bigLedgerPoolsorallLedgerPools. Leave both lists empty or populate both lists, and Dingo rejects the snapshot. - Add at least one pool to the populated list.
- Add at least one relay to every pool.
Relay requirements
Section titled “Relay requirements”Apply all of the following requirements to every relay in the populated pool list:
- Give each relay a non-empty address that names either a valid DNS hostname or a non-unspecified IP address.
- Give each relay an explicit TCP port from
1through65535.
Dingo rejects portless SRV relays and port 0.
Startup behavior
Section titled “Startup behavior”Dingo validates the complete peer snapshot before its relay endpoints can replace configured bootstrap peers. If the snapshot is malformed or inconsistent, Dingo stops node startup before it uses the relay endpoints and does not silently accept the snapshot.
Docs authored by Doc Holiday