github kaspanet/rusty-kaspa v1.1.0
Release v1.1.0

7 hours ago

This release is a major step forward for both node operators and integrators.
It makes integrations much simpler, significantly improves sync/pruning behavior, and delivers meaningful storage + processing performance gains.

Highlights

  • VSPC API v2 (GetVirtualChainFromBlockV2) (major integrator improvement)
    New GetVirtualChainFromBlockV2 returns virtual-chain updates together with per-chain-block accepted transaction data in a single flow, with support for incremental verbosity levels and minConfirmationCount.
    Practical impact: integrations can now retrieve sender/source info and fee-relevant context directly, without stitching together multiple async flows.
    In plain terms: DAG complexity is better abstracted away, and integrating Kaspa now feels much closer to integrating a classic chain. See detailed specification below.

  • IBD catchup improvements (faster, safer recovery and sync progression)
    The IBD/catchup flow was improved to better handle pruning-point movement, trusted body syncing, and transitional sync states.
    Practical impact: smoother initial sync and catchup behavior, more robust recovery, and more predictable progression under real-world node conditions.

  • Performance + storage optimizations (significant practical gains)
    Two core changes drive most of the gain: compressed level parents in headers/network handling, and on-the-fly higher-level relations, replacing always-on higher-level relation maintenance for all headers with targeted reconstruction only where needed during pruning-proof processing (for a negligible fraction of the data).
    Practical impact: lower storage pressure (especially on archival setups), reduced write overhead, faster header processing, and faster pruning work.
    Contributors reported large real-world improvements, including up to ~3x faster header-stage IBD on some machines.

  • Pruning proof algorithm refactor + stability upgrades
    Pruning proof build/validate logic was reworked with guided reconstruction and cleaner per-level context handling.
    Practical impact: improved correctness/stability posture, more predictable behavior under load, and better long-term maintainability of pruning proof internals.


VSPC API v2 Specification (GetVirtualChainFromBlockV2)

Description

Adds GetVirtualChainFromBlockV2, a non-breaking virtual-chain RPC that returns chain updates together with per-chain-block accepted transaction data, controlled by an optional incremental verbosity level.

RPC

Operation: GetVirtualChainFromBlockV2
Opcode: RpcApiOps::GetVirtualChainFromBlockV2 = 151

Input / Output

Direction Field Type Notes
In startHash Hash Required
In dataVerbosityLevel? None | Low | High | Full Optional; incremental; default: Full
In minConfirmationCount? u64 Optional; filters added-chain blocks
Out removedChainBlockHashes Hash[]
Out addedChainBlockHashes Hash[]
Out chainBlockAcceptedTransactions RpcChainBlockAcceptedTransactions[] Per added-chain-block accepted tx data

Types

RpcChainBlockAcceptedTransactions

RpcChainBlockAcceptedTransactions {
  chainBlockHeader: RpcOptionalHeader,             // accepting chain block header (verbosity-gated)
  acceptedTransactions: RpcOptionalTransaction[],  // transactions accepted by that chain block (verbosity-gated)
}

Notes

  • Non-breaking addition: existing GetVirtualChainFromBlock is unchanged.
  • Verbosity is incremental (Full includes High, Low, and None).
  • If dataVerbosityLevel is omitted, the server defaults to Full.
  • minConfirmationCount filters returned added-chain blocks by confirmation distance from the virtual tip.

Protobuf message IDs

GetVirtualChainFromBlockV2RequestMessage getVirtualChainFromBlockV2Request = 1114;
GetVirtualChainFromBlockV2ResponseMessage getVirtualChainFromBlockV2Response = 1115;


Additional notable additions

  • RocksDB preset system for archive/HDD use cases, plus WAL-directory support and cache controls.
  • In-house Rusty Kaspa Stratum Bridge released as BETA.
  • Ongoing Crescendo cleanup and consensus/infrastructure polish.

Upgrade notes

  • Database schema version was upgraded (current version is 6).
    Upgrading from older DB versions is supported, but downgrading later to older node versions may require deleting the DB.
  • On upgrade from old DB versions, node startup requires confirmation (or --yes in automation).
  • Rust toolchain/workspace requirements were updated in this cycle (edition = 2024, workspace rust-version = 1.88.0).

New contributors

Full Changelog: v1.0.1...v1.1.0

Don't miss a new rusty-kaspa release

NewReleases is sending notifications on new releases.