Bitcoin full node and query server

Feb 12, 2024

View in context in the libbitcoin Slack #general mirror.

evoskuil14:47
Making good progress again on node. I've stubbed in all of the "chaser" objects and implemented their initialization, destruction, and messaging. The design calls for each chaser on an independent strand, which allows them to perform long-running and expensive operations concurrently given enough threads. Each is registered to receive it's triggering event(s) via a subscriber which is retained by the full_node class, which operates on the network strand. Events are created by the other chasers. Protocols negotiate for objects (e.g. headers/txs/blocks) over the wire and submit these to chasers, which manage chain state, such as the tx pool (DAG) and header tree as well as the parallel block download queue. The submission of these objects to the appropriate chaser is the external trigger for chaser activity. Protocols also register for events, such as to broadcast a newly confirmed block/compact or accepted transaction and to download blocks that have been accepted via candidate headers messages.
(edited)
🎉 2