OpenSats Work-Log 6

Thursday, July 31, 2025

This is a copy of the 6th 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.

How did you spend your time?

In May, June, and July of 2025 I finished mainnet-observer up and launched it, gave a talk on my peer-observer project at the Prague dev/hack/day 2025 and published a blog post about it, and more. I also took some time off to touch some grass, recharge, and enjoy summer a bit.

Publications:

mainnet-observer

The mainnet-observer project is an Open-Source rewrite of my 2017 transactionfee.info project (semi-closed source). It shows blockchain statistics interesting for developers and power users and is useful to make data-based decisions for protocol development. Over the course of April and in early May, I finalized an initial version ready for publishing.

In May, this included:

peer-observer

Next to speaking about peer-observer and announcing the project in my blog post (see publications at the top), I also worked on a few things that had been on my list for a while.

  • #173 adds documentation and usage instructions on how to use the peer-observer tools - this helps with new contributors (coming from the talk and blog post) trying the tools
  • Initially, peer-observer was only using the eBPF/USDT interface of Bitcoin Core. The RPC interface can provide useful information too, especially stateful information. To use this data, I implemented an RPC-extractor with initially data from getpeerinfo in #191. More RPCs to implement are tracked in #199. This also caused of followup issues with other ideas to implement linked from the PR. As part of the RPC-exporter I also fixed the getpeerinfo RPC implementation of rust-bitcoin/corepc https://github.com/rust-bitcoin/corepc/pull/310
  • Some general maintenance in #171 and #172
  • Clube Bitcoin Universidade de Brasília has been starting to setup their own peer-observer infrastructure with my help. So I made some small contributions on their infra structure: https://github.com/ClubeBitcoinUnB/peer-observer-docker/pull/2

fork-observer

With “1sat/vbyte summer”, monitoring for stale blocks has become more important again as stale-blocks are an indication for poor network block propagation. By connecting to public electrum servers, we have a much better view into the network by having much more data sources. So I implemented Electrum backend support for fork-observer and set my instance up to connect to a bunch of public electrum servers on mainnet, testnet, testnet4, and signet.

misc



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

Next

Image for Support from LocalhostResearch for peer-observer

October 1, 2025

Support from LocalhostResearch for peer-observer

Localhost Research supported my peer-observer project by sponsoring three servers for a demo instance, which can be found on demo.peer.observer. Compared to the public.peer.observer instance, this allows everyone to explore the metrics and data extracted from two Bitcoin Core nodes, while no information about the “production” honey pot nodes is leaked.

The full NixOS infrastructure is published on https://github.com/peer-observer/infra-demo.

Previous

Image for OpenSats Work-Log 5

April 30, 2025

OpenSats Work-Log 5

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