<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "BitcoinKernel",
  "identifier" : "/documentation/BitcoinKernel/ChainstateManager/importBlocks(from:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "BitcoinKernel"
    ],
    "preciseIdentifier" : "s:13BitcoinKernel17ChainstateManagerC12importBlocks4fromSbSaySSG_tF"
  },
  "title" : "importBlocks(from:)"
}
-->

# importBlocks(from:)

Imports blocks from on-disk block files (`blk00000.dat`-style).

```
@discardableResult func importBlocks(from filePaths: [String]) -> Bool
```

## Parameters

`filePaths`

Absolute paths to block files. Empty list is
a no-op that returns `true`.

## Return Value

`true` if import completed successfully (or there was
nothing to do); `false` if any file failed to import.

## Discussion

Replays raw block files into the chainstate — typically used after
copying a block directory from another node to avoid re-downloading
historical blocks. This is a long-running operation; cancel via
[`interrupt()`](/documentation/BitcoinKernel/Context/interrupt()).