{
  "network": "testnet",
  "chain_tip": {
    "height": 4211516,
    "block_hash": null,
    "note": "height read from zebrad tracing logs on the source node immediately before the drain that preceded this snapshot; not read from the drained disk itself (nothing is running against it once it is safe to cut), so treat this as \"at or a few blocks before\" the actual snapshot, not exact. block_hash is not currently captured — TODO: add a getbestblockhash RPC read (or equivalent) before drain if this needs to be exact."
  },
  "database_format_version": "28.0.0",
  "database_format_major_version": 28,
  "producing_zebrad": {
    "version": "6.2.3",
    "commit": "7121c82ba6795a151523d5b308a19743f4a1ade7"
  },
  "archive": {
    "filename": "zebrad-state-testnet-v28-20260728.tar.zst",
    "size_bytes": 9128664922,
    "sha256": "c4f5a769528e6c9e4f13304d3df20bc8de7b24a3b4e590a5950088ab7ff51650",
    "compression": "zstd",
    "extraction_path": "state/v28/testnet",
    "extraction_note": "tar --zstd -xf <archive> -C <your zebrad cache_dir>; the archive already contains the state/v<major>/<network> prefix, so no manual path assembly is needed."
  },
  "compatibility": {
    "statement": "Loadable by zebrad builds whose DATABASE_FORMAT_VERSION major equals database_format_major_version. Verify against zebra-state/src/constants.rs::DATABASE_FORMAT_VERSION on the zebrad version you intend to run before trusting this snapshot."
  },
  "produced_at": "2026-07-28T13:21:14Z",
  "produced_by": {
    "source_zone": "us-east1-c",
    "source_disk": "zebrad-cache-testnet-c",
    "source_snapshot": "zebrad-cache-testnet-c-snap-20260728"
  },
  "signing": {
    "status": "unsigned",
    "todo": "Zebra release manifests are signed with Cosign keyless (Sigstore), which needs a GitHub Actions OIDC token this ad hoc script does not have. See the Signing section at the top of gcp-cut-zebrad-snapshot.sh. Do not trust this manifest as authenticated until that is resolved."
  }
}
