This week in Bitcoin Core
Bitcoin Core contributor kevkevin covers some of the latest updates...
Hello 👋 folks, I’m kevkevin. I’m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the Bitcoin Core repo. Here’s what I found notable.
Merged PR’s
Every week, several changes are officially added to Bitcoin Core. This week, 26 changes were merged. Here are some I thought were interesting from this week.
p2p: Advance pindexLastCommonBlock early after connecting blocks by mzumsande
This change simplifies and improves the logic in calculating pindexLastCommonBlock. Before this change, pindexLastCommonBlock was updated later than necessary. Before, the logic would not take into account that the chain tip had moved forward, which caused blocks to not be requested that should have been. The result of this is that some peers would be wrongly marked as a staller when, in reality, it was the node’s fault for not requesting a new block.
This new change will thus cause less false negatives when trying to find stalling nodes. Thus, the churn of node peers will be less. This change was co-authored by stringintech@gmail.com and pieter@wuille.net.interfaces: enable cancelling running waitNext calls by ismaelsadeeq
The IPC interface has a call waitNext, but a user might want to cancel that waitNext call for whatever reason. Instead of letting it hang forever, Ismael created the interruptWaitNext() method in the IPC mining interface. This simply interrupts the waitNext call.
While conceptually simple, it needs to properly cancel the waitNext call and cleanup anything left over from it. This also adds a new method to the IPC interface that will need to be maintained.refactor: Return uint64_t from GetSerializeSize by maflcko
This change is motivated by making consensus code working the same regardless of the type of architecture it runs on. This change specifically fixes GetSerializeSize to return a uint64 instead of size_t. From what I understand is that size_t can differ if the architechture is different.
Open PR’s
There are always changes being updated and reviewed in real-time. Here are some notable PR’s that are still up and looking for reviews.
Deprecate
getCoinbaseTx()in favor of a new method that provides a struct with everything clients need to construct a coinbase. This is safer than providing a raw dummy coinbase that clients then have to manipulate.Also deprecate
getCoinbaseCommitment()andgetWitnessCommitmentIndex().
IRC meeting notes
Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.
Kernel WG Update (TheCharlatan)
TheCharlatan: A bunch of smaller followups to #30595 were opened over the last week.
TheCharlatan: See the project board https://github.com/orgs/bitcoin/projects/3/views/1 for these.
TheCharlatan: Have not gotten around to opening an issue to discuss how to version the header (as discussed last week). Will do so this week.
TheCharlatan: stringintech has started a project for hosting common test vectors for the language bindings: https://github.com/stringintech/kernel-bindings-tests
TheCharlatan: I think that is interesting and might be something that could be hosted from our repo/org too.
10:04 stickies-v: is there a way people can get a sense of priority for the “Ready to Review PRs” in the project board? kind of hard to prioritize at the moment. it is bit of a zoo, and the PRs don’t depend on each other.
Benchmarking WG Update (l0rinc)
Silent Payments WG Update (Novo__)
no update
Cluster Mempool WG Update (sdaftuar, sipa)
sipa: #33629 making good progress!
sipa: that’s our focus right now, and we hope to get it in soon
Stratum v2 WG Update (sjors)
Sjors[m]1: No news from my end
QML GUI WG Update (johnny9dev)
no update
Net Split WG Update (cfields)
cfields: No update yet, still catching up after all the travel.
Murch[m]: Please review BIP 3 ;)
For the full log, check the meeting in minutes
Releases
No major releases
Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!




