Reproducing the Snapshot

Auditing the Snapshot is simply reproducing a snapshot directly from blockchain data and comparing it with the officially published snapshot data.

Getting the Registration Deadline slot number

Getting the slot_no aligned with the registration deadline.

Query the dbSync database with:

select slot_no, time from block 
    where slot_no is not null and time <= '2024-11-20 21:45:00'
    order by slot_no desc limit 1 ;

The result will be:

140572806|2024-11-20 21:44:57

Therefore the slot# that the snapshot needs to target is: 140572806

Running the Raw snapshot

The first part of the snapshot accumulates raw registration and staked ada information and validates it according to CIP-15 and CIP-36.

Note: Multiple delegations, as specified by CIP-36, are not supported. These will be detected as invalid registrations. Only registrations that contain a single voting key are supported and valid.

Run (replace your credentials as appropriate):

export USERNAME=<Your dbSync postgresql Username>
export PASSWORD=<Your dbSync postgresql Password>
export DBSYNC_POSTGRES="localhost:5432"
./target/release/snapshot_tool --db cexplorer --db-user $USERNAME --db-pass $password --db-host $DBSYNC_POSTGRES --out-file ./cexplorer-140572806.json --min-slot 0 --max-slot 140572806 --network-id mainnet

This will produce three files:

  • cexplorer-140572806.json <- Raw Snapshot Data

  • cexplorer-140572806.unregistered.json <- Unregistered but staked ADA.

  • cexplorer-140572806.errors.json <- Errors or Obsolete registrations.

Processing the snapshot with Fund 11 parameters

This filters registrations for minimum allowed voting power:

Run:

./target/release/catalyst-toolbox snapshot --snapshot cexplorer-140572806.json --min-stake-threshold 450000000 --slot-no 140572806cexplorer-140572806.final.json

This produces the final snapshot: cexplorer-140572806.summary.json

Official Snapshot Artifacts

As soon as the official snapshot artifacts that will be used for Fund 13 are available, they will be linked to here.

It is possible to run the snapshot independently until they are published.

Last updated