blk.dat فایل چیست؟ اگر نرم افزار بیت کوین را بر روی کامپیوتر خود دانلود کرده باشید، در مسیر: ~/.bitcoin/blocks/ با فایلهایی به شکل: blk00000.dat
و blk00001.dat
و … مواجه میگردید، این فایل ها چه هستند؟
این فایل ها شامل داده های خام بلاک ها هستند که توسط نرم افزار بین کوین دریافت شده اند. این فایل ها در اصل شامل داده های بلاکچین میباشند.
هر بلاک جدیدی که توسط نود بیت کوین شما دریافت میگردد، یک فایل جدید blk.dat به فایل های موجود اضافه میگردد. برای مثال بعد از ایجاد فایل blk00000.dat
، سپس باک شماره 1: blk00001.dat ، بلاک شماره 2: blk00002.dat و… تا انتها.
داده های درون این فایل ها به صورت باینری ذخیره میگردد و دیتای هر بلاک جدید به انتهای آن ها اضافه میشود.
Structure ذخیره شدن داده ها با توالی زیر است:
[ magic bytes ][ size ][ block header ][ tx count ][ transaction data ]
<- 4 bytes -> <- 4 bytes -> <- 80 bytes -> <- varint -> <- remainder ->
همان طور که بالا تر توضیح دادیم محتویات فایل به صورت باینری ذخیره شده و برای مشاهده آنها میبایست از یک نرم افزار Hex editor استفاده کنیم، برای مثال تصویر زیر داده های بلاک 0 را به نمایش داده:
ساختار داده های ذخیره شده، با فرمت زیر به 5 قسمت تقسیم میگردد:
[ magic bytes ][ size ][ block header ][ tx count ][ transaction data ]
<- 4 bytes -> <- 4 bytes -> <- 80 bytes -> <- varint -> <- remainder ->
حد اکثر حجم فایل blk.dat برابر با 128MiB معادل 124,217828 بایت میباشد.
داده های هر بلاک به صورت جداگانه در فایل های فوق با فرمت زیر ذخیره میگردد: