Snapshots
Start a node from a recent chain-state snapshot instead of verifying every block since genesis. Background: Snapshots & state commitment.
Export
On a synced node, stop it first (the database is exclusive), then:
arrekta-node-rs snapshot export snap.arrksarrekta-node snapshot export snap.arrksImport
Into an empty data directory, then start the node normally:
ARREKTA_NETWORK=regtest ARREKTA_DATA_DIR=./fresh arrekta-node-rs snapshot import snap.arrks
ARREKTA_NETWORK=regtest ARREKTA_DATA_DIR=./fresh arrekta-node-rsARREKTA_NETWORK=regtest ARREKTA_DATA_DIR=./fresh arrekta-node snapshot import snap.arrks
ARREKTA_NETWORK=regtest ARREKTA_DATA_DIR=./fresh arrekta-nodeFiles are interchangeable between the two implementations.
What import checks
- every header's proof of work, links, bits and median time;
- the rebuilt LtHash against the commitment recorded for the snapshot height
H; - it then sets a finality floor at
H(there is no undo data below it).
The snapshot is proven once the node connects block H + delay (100 on mainnet and testnet,
10 on regtest): that block must commit to the state after H, so a forged snapshot is rejected
there (bad-cb-utxo).
Distribution
Snapshots carry a checksum, but treat their source like any download. Consensus rejects a forged
one at H + delay, which costs the node a re-sync, not funds.