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, 8 changes were merged. Here are some I thought were interesting from this week.
threading: remove ancient CRITICAL_SECTION macros by theuni
This is a follow-up to a change theuni worked on earlier, removing the ENTER_CRITICAL_SECTION and LEAVE_CRITICAL_SECTION macros in favor of the safer SharedMutex/SharedLock implementations
This PR replaces the usage of CRITICAL_SECTION in getblocktemplate() with a REVERSE_LOCK, and then replaces the old CRITICAL_SECTION macro usage in the tests, and then deletes it.threading: reduce the scope of lock in getblocktemplate by kevkevinpal
This change is actually by me, the author. This week was kind of light on merged PR’s, but this change just lowered the scope of a mutex in getblocktemplate. This means that it won’t block off that mutex till it is actually needed in the getblocktemplate rpc call.
rpc: followups for 33106 by glozow
These changes are pretty straightforward. It is just following up on PR#33106, which lowered blockmintxfee, incrementalrelayfee, and minrelaytxfee.
Revert compact block cache inefficiencies by ajtowns
This is a revert of an earlier change that actually made the reconstruction of compact blocks slower. This was most likely found due to the compact block reconstruction issues that arose from the sub-1 sat/vbyte summer.
Reconstructing compact blocks is on the hot path for block relay, so revert changes from #28391 and #29752 that made it slower. Also add a benchmark to validate reconstruction performance, and a comment giving some background as to the approach.
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.
Not a PR but a topic I want to discuss is LLM-generated changes in Bitcoin Core. Lately, there have been pull requests that are LLM-generated, but because they are LLM-generated it is hard to tell. This has been wasting maintainer resources for multiple reasons.
They are of poor quality.
If a change is requested, the author does not have much background inf,o so it is more difficult for them to make the change.
There may be licensing issues due to LLMs not all having the same licensing
IRC meeting notes
Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.
Stratum v2 WG Update (sjors)
Sjors[m]1: Quick sv2 workgroup update since I'll be afk during some of the meeting. I just launched a standalone sv2 template provider that connects over IPC: https://github.com/Sjors/sv2-tp. Thanks everyone for getting #31802 over the finish line.
MuSig2 WG Update (achow101)
achow101: No updates since last week, #29675 is the pr to review
QML GUI WG Update (jarolrod, johnny9dev)
johnny9dev: was out last week (summer time). But getting back this week and focused on testing. I opened a PR to add a basic unittest (bitcoin-core/gui-qml#497). Going to use Qt's unittest framework and likely add GMock later on for more complex test scenarios. Will try to cover all c++ modules and use the QML test framework to do basic testing on the qml views as well.
Benchmarking WG Update (josie, l0rinc)
l0rinc: I have been measuring IBD on raspberry pis as well, was surprised to see that it took 2 minutes to connect a block. Was talking to localhost about having a few raspberry pi 5 servers to be able to measure these things continuously
30.0 feature freeze
achow101: we're still in feature freeze for 30.0, and the milestone has several bugfix prs on it that need review
https://github.com/bitcoin/bitcoin/milestone/72
stickies-v: I think #33208 can be removed from the milestone, it's not completely fixed but the most common case should be, seems fine to me to not have this be a blocker
(some talk about fixing transifex translations post feature freeze)
To read the full discussion, check the full logs
Releases
None yet, please take a look at the release schedule
Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!