<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "BitcoinKernel",
  "identifier" : "/documentation/BitcoinKernel/BlockTip/hash",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "BitcoinKernel"
    ],
    "preciseIdentifier" : "s:13BitcoinKernel8BlockTipV4hash10Foundation4DataVvp"
  },
  "title" : "hash"
}
-->

# hash

The block’s identifying hash — always exactly 32 bytes in internal
(kernel) byte order.

```
let hash: Data
```

## Discussion

Internal order is the byte-reversed inverse of the display-order hex
shown by block explorers. To render for humans, wrap this in
[`BlockHash`](/documentation/BitcoinKernel/BlockHash) and read [`description`](/documentation/BitcoinKernel/BlockHash/description). The hash is stable
across any chain state that doesn’t orphan this specific block, which
is why the whole [`BlockSource`](/documentation/BitcoinKernel/BlockSource) protocol uses hashes (not heights)
to address blocks.