Skip to content

Transactions

A transaction updates the State of the blockchain. Transactions may contain any of the following:

Peers broadcast new transactions to each other, and keep these as-yet-unmined transactions in their Transaction Pool. Miners then draw from this pool when deciding which transactions to include in their next block.

There are many rules for validating transactions, but one of the simplest is that transactions cannot alter the total supply of siacoins or siafunds. That is, the combined value of spent outputs must exactly equal the value of newly-created outputs, plus the miner fee. (Miner fees are aggregated into a single new output, which is considered to be created by the block itself.) For the full set of rules, see Validation.

The hash of a transaction is known as its ID, and is commonly used to concisely refer to a unique transaction.

In v1

Transactions could not contain attestations, and file contract renewal was not natively supported. More significantly, as there was no Element Accumulator, elements were stored in full by every node, and could therefore be merely referenced by ID in transactions instead of being included.