Main use case is a Stratum v2 client connecting over IPC.
Most of the proposed interface is already merged: https://github.com/bitcoin/bitcoin/blob/master/src/interfaces/mining.h
Open PR to add waitFeesChanged: https://github.com/bitcoin/bitcoin/pull/31003
We walked through the interface.
Discussion about memory management: any time getBlock is called the node creates a new block template, which contains many transaction references. If the mempool drops these transactions they’ll stay in memory. How to limit the additional memory footprint?
Leave it to client to choose which templates to drop to free up memory. If a nonce is found for such a template, the resulting block can no longer be reconstructed and broadcast. We also can’t assume that all ASIC’s are mining on the most recent template. So this choice is a very mining application specific decision.
Questions:
Community-maintained archive to unlocking knowledge from technical bitcoin transcripts