Fetching block input prevouts in parallel - This Week in Bitcoin Core #50
This we are fetching input prevouts in parallel...
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.
A new release candidate of Bitcoin Core has been pushed out. Go out there and give it a test!
Also, as the first item, Andrew Toth’s PR that allows block input prevouts to be processed in parallel has been merged. It’s a big win for the efficiency of processing blocks in Bitcoin Core.
Merged PR’s
Every week, several changes are officially added to Bitcoin Core. This week, multiple changes were merged. Here are some I found interesting this week.
validation: fetch block input prevouts in parallel during ConnectBlock by andrewtoth
In this change by Andrew Toth, it takes a look at how Bitcoin Core processes prevouts during ConnectBlock. Specifically, he found that each prevout was done one after the other, and if we did not find it in the in-coin memory cache, then a synchronous round trip to leveldb would be done.
The issue was that this would eventually stack up because these trips were being done serially as the block was being validated. This change added thread pools to do these asynchronously to help speed up the process and not bottleneck on looking up these prevouts.wallet: Add exportwatchonlywallet RPC to export a watchonly version of a wallet by achow101
Currently, if a user wants to use an airgapped setup, they need to manually create the watchonly wallet that will live on the online node by importing the public descriptors. This PR introduces
exportwatchonlywalletwhich will create a wallet file with the public descriptors to avoid exposing the specific internals to the user. Additionally, this RPC will copy any existing labels, transactions, and wallet flags. This ensures that the exported watchonly wallet is almost entirely a copy of the original wallet but without private keys.
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.
wallet: rpc: Deprecate removeprunedfunds RPC by davidgumberg
Originally added in #7558 as a companion to importprunedfunds, this RPC has no known helpful use while being both dangerous and a maintenance burden. Despite what the name says, it allows the deletion of arbitrary transactions, and importprunedfunds does not allow the importing of transactions not belonging to the user, and listtransactions does not list transactions not belonging to the wallet, so this RPC can only be used to delete transactions actually belonging to the wallet, and in the unlikely event that transactions not belonging to the wallet are present, they cause no harm except for occupying a few bytes on the users disk.
IRC meeting notes
Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.
--- Topic 1 ---
stickies-v: #topic Fuzzing WG Update (dergoegge, marcofleon)
marcofleon: no update this week
--- Topic 2 ---
stickies-v: #topic Benchmarking WG Update (l0rinc, andrewtoth)
l0rinc: andrewtoth's #35295 was just merged!!!!!!! LFG!!!
Murch[m]: Hi
l0rinc: https://github.com/bitcoin/bitcoin/pull/35295
stickies-v: congrats guys!
l0rinc: after 2 years and 1000 review comments :D
sipa: hi
sliv3r__: gj!
yancy: hi
marcofleon: nicely done woo!
l0rinc: that's it from us I think :D - thanks for the reviews!
stickies-v: time for a holiday
--- Topic 3 ---
stickies-v: #topic QML GUI WG Update (johnny9dev)
johnny9dev: We merged in all of the features we wanted to get before publishing our preview builds. One last PR for updating the submodule and build has been ACKd and needs to be merged in as the last piece
johnny9dev: I have the macos signing and notarizing setup so we should have our first preview builds today or tomorrow to share with designers and the working group
furszy: hi
johnny9dev: these will be automatically updated and publshed going forward and we hope to use it to hunt down bugs and get feedback on the UX
johnny9dev: next week we'll update the bitcoincore.app website with a link to the builds and some testing information for users
johnny9dev: that is all
stickies-v: nice, looks like you'll get a lot more feedback that way, thanks for the update
stickies-v: Anything else to discuss?
stickies-v: nice and shortRead here for the full meeting
Releases
Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!
If there are any comments, suggestions, or errors, do not hesitate to reach out or comment



