Bitcoin full node and query server

Feb 18, 2025

View in context in the libbitcoin Slack #general mirror.

evoskuil02:59
Just completed the split of the point table into point + ins. Later I'll rename the puts table, which is not just output associations, to outs and we'll have three association tables with consistent naming (also txs). The change used a new tactic, where I keep the tables 1:1 and keep the indexes in sync. I had to add a new allocation method from the map to memory manager to memory map, but it was simple due to similar code. This allows the tables to be independent from a threading standpoint, as required by the whole store, but to also ensure that entries with the same array offset are paired across the tables. This saves a lot of space and preserves the value of splitting the tables - by not linking them, which would require a read of both.