Skip to content

Releases: dusk-network/rusk-state-snapshot

rusk-state-snapshot v0.1.0

26 May 14:29

Choose a tag to compare

First release of the standalone Dusk/Rusk state snapshot distribution CLI.

Highlights

  • Signed provisioner state snapshot flows: pack, verify, publish, promote, list, restore, gc, and rebuild-index.
  • Tip-aware orchestration: plan, watch, and capture with strict calendar capture rules and freshness-gated latest promotion.
  • Stopped-pack capture safety: Rusk is stopped only long enough to create a verified immutable local candidate; upload, promotion, and index rebuild happen from that candidate after restart.
  • Archive/blob support: checkpoint-aligned archive snapshots, WORM-like blob depot, KZG sidecar verification, contiguous blob coverage verification, and verification-first archive restore.
  • State snapshot artifacts default to snapshot.tar.gz; snapshot.tar.zst remains available with --compression zstd.

Operational Notes

  • Archive/blob support is opt-in and separate from the normal provisioner snapshot path.
  • Normal GC intentionally does not delete v1/blobs/**; object-store lifecycle policies must not expire that prefix.
  • Archive checkpoints are retained through explicit archive roots under v1/archive/pointers/ and v1/archive/pins/.
  • Production archive/blob sources should require signatures for blob ranges, blob coverage, archive manifests, and archive pointers.

Validation

Release checks run from the tagged tree:

  • cargo fmt --check
  • cargo test - 63 tests passed
  • cargo clippy --all-targets -- -D warnings
  • bash -n scripts/local-archive-blob-validation.sh

Additional local soak validation completed before release:

  • Real local blob transactions and sidecars.
  • RESTORED_NODE_CHECK=1 archive/blob handoff with gzip state snapshots.
  • Longer range handoff, three repeat handoffs, signed mode, zstd compatibility, GC checks, and corruption matrix.

Post-release smoke validation:

  • Downloaded the GitHub release asset.
  • Verified the published SHA-256 checksum.
  • Confirmed rusk-state-snapshot --version prints rusk-state-snapshot 0.1.0.
  • Confirmed top-level and archive/blob command help works.
  • Ran a temporary Hetzner/S3-prefix staging publish/verify/restore flow using the release binary, then deleted all objects under the temporary prefix and verified it was empty.

Asset

Linux x86_64 binary archive:

rusk-state-snapshot-v0.1.0-x86_64-unknown-linux-gnu.tar.gz
sha256: aa4d6dc0c962a7a36e8658bbee1f863c54bf9a58b2733b5e34bb4a17ec40fe1d