<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "BitcoinKernel",
  "identifier" : "/documentation/BitcoinKernel/TransactionOutput",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "BitcoinKernel"
    ],
    "preciseIdentifier" : "s:13BitcoinKernel17TransactionOutputC"
  },
  "title" : "TransactionOutput"
}
-->

# TransactionOutput

A transaction output — the paid amount ([`amount`](/documentation/BitcoinKernel/TransactionOutput/amount) in satoshis) plus
the [`ScriptPubkey`](/documentation/BitcoinKernel/ScriptPubkey) that locks it.

```
final class TransactionOutput
```

## Overview

Construct via [`init(scriptPubkey:amount:)`](/documentation/BitcoinKernel/TransactionOutput/init(scriptPubkey:amount:)) to fabricate an output
(e.g., for script verification tests); obtain from a [`Transaction`](/documentation/BitcoinKernel/Transaction)
via [`output(at:)`](/documentation/BitcoinKernel/Transaction/output(at:)) to read an output off an existing
transaction.

Wraps the opaque `btck_TransactionOutput` type; `deinit` calls
`btck_transaction_output_destroy` when the last Swift reference drops.