<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "BitcoinKernel",
  "identifier" : "/documentation/BitcoinKernel/ScriptPubkey/init(_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "BitcoinKernel"
    ],
    "preciseIdentifier" : "s:13BitcoinKernel12ScriptPubkeyCyAC10Foundation4DataVcfc"
  },
  "title" : "init(_:)"
}
-->

# init(_:)

Creates a script pubkey from serialized script data.

```
init(_ data: Data)
```

## Parameters

`data`

Raw script bytes. Empty input traps via
`preconditionFailure`.

## Discussion

Accepts the raw byte layout used in a transaction output’s
scriptPubkey field — opcodes and pushed data as stored on disk,
not an ASM-decoded string. No structural validation happens here;
an empty or malformed script parses but will fail verification.