<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "BitcoinKernel",
  "identifier" : "/documentation/BitcoinKernel/ContextOptions/setValidationInterface(_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "BitcoinKernel"
    ],
    "preciseIdentifier" : "s:13BitcoinKernel14ContextOptionsC22setValidationInterfaceyyAA0fG9CallbacksCF"
  },
  "title" : "setValidationInterface(_:)"
}
-->

# setValidationInterface(_:)

Attaches validation interface callbacks — per-block validation,
PoW confirmation, chain connect / disconnect events.

```
func setValidationInterface(_ callbacks: ValidationInterfaceCallbacks)
```

## Parameters

`callbacks`

Preconfigured [`ValidationInterfaceCallbacks`](/documentation/BitcoinKernel/ValidationInterfaceCallbacks)
with the closures you want invoked populated.

## Discussion

The kernel takes ownership of the callback state. Validation
callbacks fire on kernel-internal threads and **block further
validation while executing**, so keep handlers fast and avoid
synchronous I/O or long-running work inside them.