Bitcoin full node and query server

Mar 1, 2025

View in context in the libbitcoin Slack #general mirror.

evoskuil05:11
I just completed the couple items I mentioned I had remaining. Cleaning up for the lack of xcode std::atomic_ref<T> workaround. Also rewrote the store serialization for tx. This allocates all inputs and all outputs in one chunk each, and writes them contiguously, as opposed to iterating over the allocation. Given that input/output both cache size during wired deserialization there's no cost to computing the variable offsets. I also found that I was using the script and witness size methods previously, to store the size prefixes. But those aren't cached, so that was a bit wasteful - iteration over all opcodes. So allocations are reduced by around 5 billion or so, and those impose an exclusive lock over respective tables, which is the only material source of lock contention, so that's really good.