Bitcoin full node and query server

May 22, 2024

View in context in the libbitcoin Slack #general mirror.

evoskuil00:28
I picked up 4 x 8GiB RAM cards, so that I'll be able to test 8/16/24/32GiB configurations. Should have that and my 2Gbps WAN up and running tomorrow. I've moved on to concurrent validation. As a rough approximation, this process...
  • deserialize block
  • read block/tx previous valid/invalid states
  • populate all tx input prevouts
  • validate all txs/block (accept/connect)
  • write validation metadata for each tx/block
  • read block previous confirmable state
  • confirm each tx/block (maturity, spent, double spend)
  • write confirmable metadata for block
  • associate confirmed txs with their block
  • organize block (index height)
...takes about 1 second for the largest blocks when performed entirely sequentially. If we (pessimistically) extend that across all blocks (early 300k blocks are orders of magnitude faster), that's 233 hours (10 days). If we (optimistically) divide that by my 64 cores, it's 3.65 hours. Realistically I expect that to be closer to 2 hrs.
(edited)
Shashank Shekhar Singh17:33
@Tanay Raikhere, Actually I have a 500gb ssd. I have a 1tb hdd, on which I have run the node using the bn command and it showed: "2024-05-22T17:30:35Z.0 Node stopped successfully."