<!--
{
  "availability" : [

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

# ChainstateManagerOptions

Builder for constructing a [`ChainstateManager`](/documentation/BitcoinKernel/ChainstateManager) — configures data paths,
worker-thread count, reindex behavior, and in-memory-database flags.

```
final class ChainstateManagerOptions
```

## Overview

Instantiate with a context and a data directory, tune with the setters,
then pass to [`init(options:)`](/documentation/BitcoinKernel/ChainstateManager/init(options:)). On Apple platforms,
place the data directory inside Application Support with
`isExcludedFromBackup = true` — chainstate is reproducible from the
network and doesn’t belong in iCloud backups.

Wraps the opaque `btck_ChainstateManagerOptions` type; `deinit` calls
`btck_chainstate_manager_options_destroy` when the last Swift reference
drops.