什么是blk.dat文件

当本地安装比特币钱包软件(bitcoin core)时候,会在本地目录生成一堆的文件,其中blk.dat文件就是其中之一。

比特币节点(Bitcoin Core)的~/.bitcoin/blocks/目录中的blk.dat 文件中包含了节点接收到的原始区块数据,这些数据文件构成了比特币区块链的基础,同时也是区块链数据分析获取比特币区块和交易数据的最高效的途径。本文将介绍比特币区块数据文件的格式、数据结构以及读取方法原理,并介绍三种常用的工具软件

blk.dat文件的工作机制

比特币节点(Bitcoin Core)接收到的每个区块都会写入一个blk.dat文件。出于性能考虑,节点不会把所有区块写入单一巨型文件,而是拆分为多个blk*.dat文件,每个文件大约在128M。

blk.dat文件的内容

在blk.dat文件中的数据以二进制格式存储,节点收到的新区块会追加到文件末尾。我们可以通过解密后查看二进制文件如下

比特币btc详细介绍(比特币blk.dat文件结构)(1)

解码后的blk文件

blk.dat文件的结构

比特币btc详细介绍(比特币blk.dat文件结构)(2)

blk文件结构

比特币btc详细介绍(比特币blk.dat文件结构)(3)

blk文件结构

,