OpenSats Work-Log 8

AI Summary10 min read

TL;DR

The author's work-log details contributions from Nov 2025 to Jan 2026, focusing on peer-observer tooling, Bitcoin Core improvements, and network monitoring. Key activities include enhancing metrics, fixing bugs, and participating in Bitcoin research events.

Key Takeaways

  • Developed peer-observer infrastructure with new metrics for connections, messages, and NATS authentication.
  • Contributed to Bitcoin Core with bug fixes, tests, and reviews, including IP self-announcement features.
  • Enhanced mainnet-observer with charts for Schnorr/ECDSA signatures, BIP-54 locktimes, and ephemeral dust tracking.
  • Engaged in community events like Chaincode Labs Bitcoin Research Week and posted on Bitcoin Network Operations Collective.
  • Maintained and updated various tools and libraries, including rust-bitcoin, nix packages, and data sets.

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

Visit Website