Auditing the Snapshot is simply reproducing a snapshot directly from blockchain data and comparing it with the officially published snapshot data.
Getting the slot_no aligned with the registration deadline.
Query the dbSync database with:
The result will be:
Therefore the slot# that the snapshot needs to target is: 140572806
The first part of the snapshot accumulates raw registration and staked ada information and validates it according to and .
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):
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.
This filters registrations for minimum allowed voting power:
Run:
This produces the final snapshot: cexplorer-140572806.summary.json
As soon as the official snapshot artifacts that will be used for Fund 13 are available, they will be linked .
It is possible to run the snapshot independently until they are published.
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 ;140572806|2024-11-20 21:44:57export 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./target/release/catalyst-toolbox snapshot --snapshot cexplorer-140572806.json --min-stake-threshold 450000000 --slot-no 140572806cexplorer-140572806.final.json