Toccata 101 · Part 1 · card 2
inputs, outputs, signatures, fee, all or nothing
In rusty-kaspa a transaction is a version, a list of inputs, a list of outputs, a lock time and a few more fields. An input is a previous outpoint (transaction id and index), a signature script and a sequence. An output is a value and a script public key (consensus/core/src/tx.rs). A node checks a transaction on its own (input and output counts, no duplicate inputs, value ranges: tx_validation_in_isolation.rs) and against the UTXO set (every input must exist and be unspent, total out may not exceed total in, fee = in minus out, the script of every input is run: tx_validation_in_utxo_context.rs). Read at release v2.0.1. The transaction shown was read from the public Kaspa API on 4 September 2026 and is linked in its header.