OpenSats Work-Log 8

Saturday, January 31, 2026

This is a copy of the 8th work-log I sent to OpenSats for my LTS grant.

Disclaimer: Some information that is not (or not yet) meant to be published may have been redacted.

What did you work on?

In November and December 2025, and January of 2026, I primarily focused on building out peer-observer tooling and infrastructure, but also worked on mainnet-observer, posted to the Bitcoin Network Operations Collective, contributed to Bitcoin Core, helped in the rust-bitcoin corepc and bip324 libraries, and more.

Publications / Podcasts / Talks

Bitcoin Network Operations Collective

In the Bitcoin Network Operations Collective discourse forum I posted about:

peer-observer

tooling (peer-observer/peer-observer)

infrastructure library (peer-observer/infra-library)

Bitcoin Core

bitcoin/bitcoin

  • Reviewed the tracepoint changes in bitcoin/bitcoin#33680
  • Posted a bit of data for the cpu_load PR: bitcoin/bitcoin#31672
  • Opened an issue for (too) frequent PCP warnings: bitcoin/bitcoin#34114
  • Fixed a minor log rate-limiting bug of a log message in bitcoin/bitcoin#34008
  • Added a functional test for the IP address self-announcement feature of Bitcoin Core, which previously didn’t have any test coverage, while playing an essential part in nodes on the network being able find others: bitcoin/bitcoin#34039. The test had a bug which caused it to intermittently fail, which only appeared on the CI runners. I fixed this in bitcoin/bitcoin#34204.
  • Made sure that IP address self-announcements are sent in a separate message first: bitcoin/bitcoin#34146

bitcoin-core/guix.sigs

Build and uploaded signed GUIX signatures for the following releases and release candidates:

0xb10c/mainnet-observer

misc

rust-bitcoin/bip324

I plan to use this library in an upcoming project. Playing around with it to test it, fixing some low-hanging bugs, and getting more familiar with it made sense.

  • I noticed a bug where reading on a closed bip324 connection (e.g. the other side went offline), didn’t produce an error. This was a bug in the implementation and I fixed it in: rust-bitcoin/bip324#160. I also added a integration test for coverage of this bug in the async code.
  • I ported that test to the sync code (from async) and added it in rust-bitcoin/bip324#163.
  • I went ahead and picked up an issue to update the bip324 test vectors from the BIP in the bip324 library in rust-bitcoin/bip324#162.

nixos/nixpkgs

  • I updated Bitcoin Core from v30.1 to v30.2 shortly after release NixOS/nixpkgs#478769. Bitcoin Core v30.0 and v30.1 had a wallet bug, so getting the update in quickly was a priority.

0xb10c/nix

Next to keeping my packages up-to-date and maintaining existing packages and modules, I also:

  • added a new package and module for @jamesob’s discourse-archive in 0xB10C/nix#283 to be able to automatically backup delvingbitcoin.org and bnoc.xyz discourse instances.

rust-bitcoin/corepc

I use rust-bitcoin/corepc in some of my monitoring tools, so it makes sense to spent some of my time adding features & tests, reporting bugs, and implementing fixes.

0xb10c/github-metadata-backup

bitcoin-data/block-arrival-times

bitcoin-data/stale-blocks



My open-source work is currently funded by an OpenSats LTS grant. You can learn more about my funding and how to support my work on my funding page.

Creative Commons License Text and images on this page are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License

Previous

Image for OpenSats Work-Log 7

October 31, 2025

OpenSats Work-Log 7

This is a copy of the 7th work-log I sent to OpenSats for my LTS grant.