Bitcoin full node and query server

Aug 8, 2021

View in context in the libbitcoin Slack #general mirror.

evoskuil23:24
The header indexes are simple arrays of pointers to headers, organized by height. This provides height-based recovery of blocks in constant time. All other data is within hash tables, which also (nominally) provide constant time recovery by block, transaction, or output hash. The hash table does not use the object's natural hash as the hash table (natural) key. The hash table uses a much faster (foreign) key system. The collision rate is ultimately determined by the configured size of the hash table headers.
evoskuil23:35
To be clear, the hash tables use a foreign key (a hash native to the store) of the object's natural key (e.g. tx hash). I've recently updated the store keying algorithm to DJB2.
(edited)