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)
Tanay Raikhere07:56
Hey, I and Shashank we both tried to build the master node, but since both of us had only 256 gigs of storage, the sync came to a halt pretty quickly. So I had an old system lying around, but that too has low specs keeping the sync speed really slow.Moreover, that system has only 500GB storage, and the full blockchain sizes ~600Gb. Therefore, I am thinking of getting a pre-owned cheap PC with at least 1TB of storage for the full node operation.
(edited)