Bitcoin full node and query server

Oct 12, 2025

View in context in the libbitcoin Slack #general mirror.

evoskuil17:28
Update on macOS: I've verified that our custom fallocate on macOS is working as expected. The disk full fault we had on Linux was a result of relying on sparse allocation via ftruncate . That's resolved by using fallocate but macOS doesn't implement it. So disk full should be working properly on macOS now. This is the proof of proper behavior, with file system sparse and full sizes compared against the Windows sizes, with default initial sizes and files closed vs. open. Exact same to the byte, and physically allocated.
FILES CLOSED
++++++++++++

evoskuil@Big-Mac bitcoin % ls -l  
total 88

-rw-r--r--   1 evoskuil  staff    0 Oct 12 11:40 address.data
-rw-r--r--   1 evoskuil  staff   98 Oct 12 11:40 archive_header.data
-rw-r--r--   1 evoskuil  staff   79 Oct 12 11:40 archive_input.data
-rw-r--r--   1 evoskuil  staff   13 Oct 12 11:40 archive_ins.data
-rw-r--r--   1 evoskuil  staff   81 Oct 12 11:40 archive_output.data
-rw-r--r--   1 evoskuil  staff    5 Oct 12 11:40 archive_outs.data
-rw-r--r--   1 evoskuil  staff   39 Oct 12 11:40 archive_point.data
-rw-r--r--   1 evoskuil  staff   65 Oct 12 11:40 archive_tx.data
-rw-r--r--   1 evoskuil  staff   10 Oct 12 11:40 archive_txs.data
-rw-r--r--   1 evoskuil  staff    3 Oct 12 11:40 candidate.data
-rw-r--r--   1 evoskuil  staff    3 Oct 12 11:40 confirmed.data
-rw-r--r--   1 evoskuil  staff    0 Oct 12 11:40 duplicate.data
-rw-r--r--   1 evoskuil  staff    0 Oct 12 11:40 filter_bk.data
-rw-r--r--   1 evoskuil  staff    0 Oct 12 11:40 filter_tx.data
drwxr-xr-x  20 evoskuil  staff  640 Oct 12 11:39 heads
-rw-r--r--   1 evoskuil  staff    0 Oct 12 11:40 prevout.data
-rw-r--r--   1 evoskuil  staff   11 Oct 12 11:40 strong_tx.data
-rw-r--r--   1 evoskuil  staff    0 Oct 12 11:40 validated_bk.data
-rw-r--r--   1 evoskuil  staff    0 Oct 12 11:40 validated_tx.data

Directory of M:\bitcoin

10/12/2025  11:58 AM    <DIR>          .
10/12/2025  11:58 AM    <DIR>          ..
10/12/2025  11:58 AM                 0 address.data
10/12/2025  11:58 AM                98 archive_header.data
10/12/2025  11:58 AM                79 archive_input.data
10/12/2025  11:58 AM                13 archive_ins.data
10/12/2025  11:58 AM                81 archive_output.data
10/12/2025  11:58 AM                 5 archive_outs.data
10/12/2025  11:58 AM                39 archive_point.data
10/12/2025  11:58 AM                65 archive_tx.data
10/12/2025  11:58 AM                10 archive_txs.data
10/12/2025  11:58 AM                 3 candidate.data
10/12/2025  11:58 AM                 3 confirmed.data
10/12/2025  11:58 AM                 0 duplicate.data
10/12/2025  11:58 AM                 0 filter_bk.data
10/12/2025  11:58 AM                 0 filter_tx.data
10/12/2025  11:58 AM    <DIR>          heads
10/12/2025  11:58 AM                 0 prevout.data
10/12/2025  11:58 AM                11 strong_tx.data
10/12/2025  11:58 AM                 0 validated_bk.data
10/12/2025  11:58 AM                 0 validated_tx.data

18 File(s)            407 bytes
3 Dir(s)  2,119,607,652,352 bytes free

====================

evoskuil@Big-Mac heads % ls -l
total 28693968

-rw-r--r--  1 evoskuil  staff            8 Oct 12 11:40 address.head
-rw-r--r--  1 evoskuil  staff      1545460 Oct 12 11:40 archive_header.head
-rw-r--r--  1 evoskuil  staff            5 Oct 12 11:40 archive_input.head
-rw-r--r--  1 evoskuil  staff            4 Oct 12 11:40 archive_ins.head
-rw-r--r--  1 evoskuil  staff            5 Oct 12 11:40 archive_output.head
-rw-r--r--  1 evoskuil  staff            4 Oct 12 11:40 archive_outs.head
-rw-r--r--  1 evoskuil  staff  10927817096 Oct 12 11:40 archive_point.head
-rw-r--r--  1 evoskuil  staff   1876890104 Oct 12 11:40 archive_tx.head
-rw-r--r--  1 evoskuil  staff      4500010 Oct 12 11:40 archive_txs.head
-rw-r--r--  1 evoskuil  staff            3 Oct 12 11:40 candidate.head
-rw-r--r--  1 evoskuil  staff            3 Oct 12 11:40 confirmed.head
-rw-r--r--  1 evoskuil  staff         4100 Oct 12 11:40 duplicate.head
-rw-r--r--  1 evoskuil  staff            3 Oct 12 11:40 filter_bk.head
-rw-r--r--  1 evoskuil  staff            5 Oct 12 11:40 filter_tx.head
-rw-r--r--  1 evoskuil  staff            5 Oct 12 11:40 prevout.head
-rw-r--r--  1 evoskuil  staff   1876890104 Oct 12 11:40 strong_tx.head
-rw-r--r--  1 evoskuil  staff      3600008 Oct 12 11:40 validated_bk.head
-rw-r--r--  1 evoskuil  staff           10 Oct 12 11:40 validated_tx.head

Directory of M:\bitcoin\heads

10/12/2025  11:58 AM    <DIR>          .
10/12/2025  11:58 AM    <DIR>          ..
10/12/2025  11:58 AM                 8 address.head
10/12/2025  11:58 AM         1,545,460 archive_header.head
10/12/2025  11:58 AM                 5 archive_input.head
10/12/2025  11:58 AM                 4 archive_ins.head
10/12/2025  11:58 AM                 5 archive_output.head
10/12/2025  11:58 AM                 4 archive_outs.head
10/12/2025  11:58 AM    10,927,817,096 archive_point.head
10/12/2025  11:58 AM     1,876,890,104 archive_tx.head
10/12/2025  11:58 AM         4,500,010 archive_txs.head
10/12/2025  11:58 AM                 3 candidate.head
10/12/2025  11:58 AM                 3 confirmed.head
10/12/2025  11:58 AM             4,100 duplicate.head
10/12/2025  11:58 AM                 3 filter_bk.head
10/12/2025  11:58 AM                 5 filter_tx.head
10/12/2025  11:58 AM                 5 prevout.head
10/12/2025  11:58 AM     1,876,890,104 strong_tx.head
10/12/2025  11:58 AM         3,600,008 validated_bk.head
10/12/2025  11:58 AM                10 validated_tx.head

18 File(s) 14,691,246,937 bytes
2 Dir(s)  2,119,607,652,352 bytes free

FILES OPEN (network halted at startup)
++++++++++++++++++++++++++++++++++++++

evoskuil@Big-Mac bitcoin % ls -l
total 345171760
-rw-r--r--   1 evoskuil  staff            1 Oct 12 12:38 address.data
-rw-r--r--   1 evoskuil  staff     21000000 Oct 12 12:38 archive_header.data
-rw-r--r--   1 evoskuil  staff  92500000000 Oct 12 12:38 archive_input.data
-rw-r--r--   1 evoskuil  staff   8550000000 Oct 12 12:38 archive_ins.data
-rw-r--r--   1 evoskuil  staff  25300000000 Oct 12 12:38 archive_output.data
-rw-r--r--   1 evoskuil  staff   3700000000 Oct 12 12:38 archive_outs.data
-rw-r--r--   1 evoskuil  staff  25700000000 Oct 12 12:38 archive_point.data
-rw-r--r--   1 evoskuil  staff  17000000000 Oct 12 12:38 archive_tx.data
-rw-r--r--   1 evoskuil  staff   1050000000 Oct 12 12:38 archive_txs.data
-rw-r--r--   1 evoskuil  staff      2575500 Oct 12 12:38 candidate.data
-rw-r--r--   1 evoskuil  staff      2575500 Oct 12 12:38 confirmed.data
-rw-r--r--   1 evoskuil  staff           44 Oct 12 12:38 duplicate.data
-rw-r--r--   1 evoskuil  staff            1 Oct 12 12:38 filter_bk.data
-rw-r--r--   1 evoskuil  staff            1 Oct 12 12:38 filter_tx.data
-rw-r--r--   1 evoskuil  staff            0 Oct 12 12:38 flush.lock
drwxr-xr-x  20 evoskuil  staff          640 Oct 12 11:39 heads
-rw-r--r--   1 evoskuil  staff            1 Oct 12 12:38 prevout.data
-rw-r--r--   1 evoskuil  staff            0 Oct 12 12:38 process.lock
-rw-r--r--   1 evoskuil  staff   2900000000 Oct 12 12:38 strong_tx.data
-rw-r--r--   1 evoskuil  staff      1700000 Oct 12 12:38 validated_bk.data
-rw-r--r--   1 evoskuil  staff            1 Oct 12 12:38 validated_tx.data

Directory of M:\bitcoin

10/12/2025  12:15 PM    <DIR>          .
10/12/2025  12:15 PM    <DIR>          ..
10/12/2025  12:15 PM                 1 address.data
10/12/2025  12:15 PM        21,000,000 archive_header.data
10/12/2025  12:15 PM    92,500,000,000 archive_input.data
10/12/2025  12:15 PM     8,550,000,000 archive_ins.data
10/12/2025  12:15 PM    25,300,000,000 archive_output.data
10/12/2025  12:15 PM     3,700,000,000 archive_outs.data
10/12/2025  12:15 PM    25,700,000,000 archive_point.data
10/12/2025  12:15 PM    17,000,000,000 archive_tx.data
10/12/2025  12:15 PM     1,050,000,000 archive_txs.data
10/12/2025  12:15 PM         2,575,500 candidate.data
10/12/2025  12:15 PM         2,575,500 confirmed.data
10/12/2025  12:15 PM                44 duplicate.data
10/12/2025  12:15 PM                 1 filter_bk.data
10/12/2025  12:15 PM                 1 filter_tx.data
10/12/2025  12:15 PM                 0 flush.lock
10/12/2025  11:58 AM    <DIR>          heads
10/12/2025  12:15 PM                 1 prevout.data
10/12/2025  12:15 PM                 0 process.lock
10/12/2025  12:15 PM     2,900,000,000 strong_tx.data
10/12/2025  12:15 PM         1,700,000 validated_bk.data
10/12/2025  12:15 PM                 1 validated_tx.data

20 File(s) 176,727,851,049 bytes
3 Dir(s)  1,942,879,830,016 bytes free

====================

evoskuil@Big-Mac heads % ls -l
total 28693968
-rw-r--r--  1 evoskuil  staff            8 Oct 12 12:38 address.head
-rw-r--r--  1 evoskuil  staff      1545460 Oct 12 12:38 archive_header.head
-rw-r--r--  1 evoskuil  staff            5 Oct 12 12:38 archive_input.head
-rw-r--r--  1 evoskuil  staff            4 Oct 12 12:38 archive_ins.head
-rw-r--r--  1 evoskuil  staff            5 Oct 12 12:38 archive_output.head
-rw-r--r--  1 evoskuil  staff            4 Oct 12 12:38 archive_outs.head
-rw-r--r--  1 evoskuil  staff  10927817096 Oct 12 12:38 archive_point.head
-rw-r--r--  1 evoskuil  staff   1876890104 Oct 12 12:38 archive_tx.head
-rw-r--r--  1 evoskuil  staff      4500010 Oct 12 12:38 archive_txs.head
-rw-r--r--  1 evoskuil  staff            3 Oct 12 12:38 candidate.head
-rw-r--r--  1 evoskuil  staff            3 Oct 12 12:38 confirmed.head
-rw-r--r--  1 evoskuil  staff         4100 Oct 12 12:38 duplicate.head
-rw-r--r--  1 evoskuil  staff            3 Oct 12 12:38 filter_bk.head
-rw-r--r--  1 evoskuil  staff            5 Oct 12 12:38 filter_tx.head
-rw-r--r--  1 evoskuil  staff            5 Oct 12 12:38 prevout.head
-rw-r--r--  1 evoskuil  staff   1876890104 Oct 12 12:38 strong_tx.head
-rw-r--r--  1 evoskuil  staff      3600008 Oct 12 12:38 validated_bk.head
-rw-r--r--  1 evoskuil  staff           10 Oct 12 12:38 validated_tx.head

Directory of M:\bitcoin\heads

10/12/2025  11:58 AM    <DIR>          .
10/12/2025  11:58 AM    <DIR>          ..
10/12/2025  11:58 AM                 8 address.head
10/12/2025  11:58 AM         1,545,460 archive_header.head
10/12/2025  11:58 AM                 5 archive_input.head
10/12/2025  11:58 AM                 4 archive_ins.head
10/12/2025  11:58 AM                 5 archive_output.head
10/12/2025  11:58 AM                 4 archive_outs.head
10/12/2025  11:58 AM    10,927,817,096 archive_point.head
10/12/2025  11:58 AM     1,876,890,104 archive_tx.head
10/12/2025  11:58 AM         4,500,010 archive_txs.head
10/12/2025  11:58 AM                 3 candidate.head
10/12/2025  11:58 AM                 3 confirmed.head
10/12/2025  11:58 AM             4,100 duplicate.head
10/12/2025  11:58 AM                 3 filter_bk.head
10/12/2025  11:58 AM                 5 filter_tx.head
10/12/2025  11:58 AM                 5 prevout.head
10/12/2025  11:58 AM     1,876,890,104 strong_tx.head
10/12/2025  11:58 AM         3,600,008 validated_bk.head
10/12/2025  11:58 AM                10 validated_tx.head

18 File(s) 14,691,246,937 bytes
2 Dir(s)  1,942,879,830,016 bytes free

DU/STAT
++++++++++++++++++++
ls -l doesn't ensure we are seeing actually allocated space, but these do

evoskuil@Big-Mac bitcoin % du -h archive_input.data
 86G	archive_input.data
evoskuil@Big-Mac bitcoin % du -h archive_output.data
 24G	archive_output.data
evoskuil@Big-Mac bitcoin % du -h archive_point.data 
 24G	archive_point.data
 
evoskuil@Big-Mac bitcoin % stat -f "%z %b %B" archive_input.data
92500000000 180664072 1760283584
evoskuil@Big-Mac bitcoin % stat -f "%z %b %B" archive_output.data
25300000000 49414072 1760283584
evoskuil@Big-Mac bitcoin % stat -f "%z %b %B" archive_point.data 
25700000000 50195328 1760283584
evoskuil@Big-Mac bitcoin %