
Study & contribute to Bitcoin and lightning open source

Hands on, guided learning to make you confident in bitcoin development.

List of good first issues from curated bitcoin FOSS projects

Interactive AI chat to learn about Bitcoin technology and its history

Technical Bitcoin search engine

Daily summary of key Bitcoin tech development discussions and updates

Engaging Bitcoin dev intro for coders using technical texts and code challenges

Review technical Bitcoin transcripts and earn sats
Date
6 May, 2026
Speakers
Not Available
Transcript by
Not Available
Asynchronous mempool updates via validation interface
The changes needed are minimal
Wire the chunk refs in GetMainStagingDiagrams
Refactor GetPackageHash to a generic GetHashFromWitnessIds
Cache the chunks returned from GetMainStagingDiagrams
Extract the dependency addition of UpdateTransactionsFromBlock into it's function
On each mempool mutation collect the witness id of all chunks removed/added reason for removal chunk fee rate and fire mempool updated validation interface notification
Most changes are straightforward, maybe, but it is worth going through what the function each commit changes, and then we talked about it.
Commit 1 txgraph: populate chunk refs in GetMainStagingDiagrams result
Commit 2 refactor: move-only: split GetPackageHash Straighforward
Commit 3 mempool: cache fee rate diagrams as chunks in ChangeSet
Commit 4 mempool: add GetAndSaveMainStagingDiagram to ChangeSet
Commit 5 refactor: move-only: extract dependency addition into a seperate method
Commit 6 refactor: move-only: extract dependency addition into a seperate method
UpdateTransactionFromBlock is called during after a reorg has happen and we collect all the transactions that are successfully added and then call UpdateTransactionFromBlock with them.
We then addDependency between this transaction and all its children that are in the mempool.
Then we trim if cluster limit is busted, so we extract the transaction dependency addition into it's own commit.
Commit 7 mempool: add and fire MempoolUpdated signal on each mempool update path We add a new validation interface notification that is emitted on each mempool mutation update.
On each mutation, we get the staging and main diagram chunks and then emit a new notification.
In all cases the before/after chunks are obtained from changeSet->GetFeeRateDiagramChunks() after committing the staging graph.
Commit 8 Added a new mempool_update_tests: unit test suite covering all MempoolUpdated emission paths
We do not need the chunk IDs for the block template. We can track the last index at which we start the bin packaging. All chunks with a fee rate above that are in the block template, so we can use that directly to compute the delta after the fee rate increase. We still need the notification for using the suggested approach. What's the motivation for using this approach instead of blocking the template every 1 second, to avoid redundancy, and reduce memory usage when the fee increase is not in the top block template?
Community-maintained archive to unlocking knowledge from technical Bitcoin transcripts




