Kaspa One Stop

In brief

This page is source-sensitive. Treat application, covenant, proof, and readiness wording as bounded by the listed public sources and Open Questions.

What this page explains#

A Toccata source walk ties transaction fields, hashing, sighash, mass, subnets, seqcommit, txscript, opcodes, and ZK precompiles into one review path. This page sits in Toccata. It gives the topic a plain-language handle first, then shows the working idea, the mechanism, the source trail, and any limits that still matter. This category treats Toccata as a cluster of related changes rather than one feature. Transaction v1, compute budget, script pricing, lanes, sequencing commitments, covenants, and ZK have to be read together when an application depends on them.

The writing follows a simple Kaspa documentation pattern: answer the practical question first, then link outward for details. The closest public sources for this page are RK-TX, RK-TX-SERDE, RK-HASH-TX, RK-SIGHASH, RK-MASS. Local notes can help choose what to explain, but public-facing references resolve to upstream websites, repositories, papers, release pages, or docs.

How to think about it#

The practical model starts by naming the layer that owns the topic: wallet use, node operation, consensus, transaction validation, Toccata script behavior, tooling, or research. From there, the page shows which public source can support the explanation and where the explanation becomes incomplete.

For Toccata Source Walkthrough, the model is built around these anchors: start with transaction structs and serialization; follow identity into hashing and sighash; connect compute budget to mass, validation, and runtime-meter paths; read subnets, body validation, KIP-0021, and seqcommit for lane behavior; finish with txscript, opcodes, ZK tags, and verifier paths. This model is useful, but it does not encode every constant, branch, error type, or edge case. Those details belong in the source path and the source notes.

How it works#

1. start with transaction structs and serialization. Transaction structure is the field map other layers depend on. Version, inputs, outputs, lock time, subnetwork ID, gas, payload, storage mass, and serialization all affect how validation, hashing, signing, RPC, wallets, and indexers interpret the object. The page therefore treats each field as a commitment surface rather than a display detail.

2. follow identity into hashing and sighash. Signing is a commitment boundary. A wallet or SDK can construct intent, but a signature only authorizes the fields covered by the signing algorithm and available UTXO context. The review must confirm that versioned fields, previous outputs, sequences, payloads, gas, covenant data, scripts, values, and hash-type choices are not silently lost before or after signing.

3. connect compute budget to mass, validation, and runtime-meter paths. Script pricing and compute budget are resource-accounting rules. They decide whether script execution can fit inside the transaction's allowed work, and they interact with mass, fee pressure, and validation errors. A useful Toccata page separates byte size, compute units, storage mass, fee rate, and policy admission instead of using one loose word like cost.

4. read subnets, body validation, KIP-0021, and seqcommit for lane behavior. Lanes, subnetwork IDs, gas, and payload fields are application-facing transaction surfaces. The page explains what must survive serialization, signing, wallet handling, RPC submission, indexer decoding, and replay. It also separates reserved or special contexts from ordinary user operations so app designers do not borrow a field without checking its source meaning.

5. finish with txscript, opcodes, ZK tags, and verifier paths. Inline ZK adds verifier calls to the script path, but the verifier result is not the whole application transition. The guide identifies the verifier tag, proof format, public inputs or journal, cost rule, and the script or covenant condition that binds the proof to a successor output. Accepted network evidence still comes after transaction validation.

This mechanism section separates current release/source details from proposal-shaped KIP text. Transaction v1, script pricing, lanes, sequencing commitments, covenants, and ZK are related, but each has its own source boundary.

How to check it#

StepCheckEvidence gate
1Check start with transaction structs and serialization.Read RK-TX, RK-TX-SERDE, RK-HASH-TX; separate current release/source behavior from KIP PR or docs-orientation material.
2Check follow identity into hashing and sighash.Read RK-TX, RK-TX-SERDE, RK-HASH-TX; separate current release/source behavior from KIP PR or docs-orientation material.
3Check connect compute budget to mass, validation, and runtime-meter paths.Read RK-TX, RK-TX-SERDE, RK-HASH-TX; separate current release/source behavior from KIP PR or docs-orientation material.
4Check read subnets, body validation, KIP-0021, and seqcommit for lane behavior.Read RK-TX, RK-TX-SERDE, RK-HASH-TX; separate current release/source behavior from KIP PR or docs-orientation material.
5Check finish with txscript, opcodes, ZK tags, and verifier paths.Read RK-TX, RK-TX-SERDE, RK-HASH-TX; separate current release/source behavior from KIP PR or docs-orientation material.

When using this page for Toccata material, separate deployed release/source details from open KIP or PR-shaped details. Transaction v1, lanes, sequencing commitments, script pricing, covenants, and ZK each need their own source boundary before the page presents them as current behavior.

  • toccata-decision-guide
  • toccata
  • toccata-faq-and-failure-modes
Source-linkedReviewed 2026-07-09 · 16 public sources · 1 open questionEvidence and sources
Evidence and sources16 public sources · reviewed 2026-07-09
Rusty Kaspa Body ValidationRusty Kaspa source
github.com/kaspanet/rusty-kaspa/blob/78257f273a26c4be085bab0f79437dee99ca8835/consensus/src/pipeline/body_processor/body_validation_in_isolation.rsgithub.com/kaspanet/rusty-kaspa/blob/78257f273a26c4be085bab0f79437dee99ca8835/consensus/src/pipeline/body_processor/body_validation_in_context.rsgithub.com/kaspanet/rusty-kaspa/blob/78257f273a26c4be085bab0f79437dee99ca8835/consensus/src/pipeline/body_processor/processor.rs
Technical details

Reference key: RK-BODY-VALIDATION

Recheck this public source before relying on exact current details.