This week’s newsletter announces a new mailing list to discuss Bitcoin mining. Also included are our regular sections summarizing popular questions and answers from the Bitcoin Stack Exchange, announcements of new releases and release candidates, and descriptions of recent changes to popular Bitcoin infrastructure software.

News

  • New Bitcoin Mining Development mailing list: Jay Beddict announced a new mailing list to “discuss emerging Bitcoin mining technology updates as well as the impacts of Bitcoin-related software or protocol changes on mining.”

    Mark “Murch” Erhardt posted to the list to ask whether the time warp fix deployed on testnet4 could lead to miners creating invalid blocks if the same fix was deployed to mainnet (such as part of a cleanup soft fork). Mike Schmidt referred list readers to a thread on the Bitcoin-Dev mailing list about oblivious shares (see Newsletter #315).

Selected Q&A from Bitcoin Stack Exchange

Bitcoin Stack Exchange is one of the first places Optech contributors look for answers to their questions—or when we have a few spare moments to help curious or confused users. In this monthly feature, we highlight some of the top-voted questions and answers posted since our last update.

Releases and release candidates

New releases and release candidates for popular Bitcoin infrastructure projects. Please consider upgrading to new releases or helping to test release candidates.

  • Core Lightning 24.08rc2 is a release candidate for the next major version of this popular LN node implementation.

  • LND v0.18.3-beta.rc1 is a release candidate for a minor bug fix release of this popular LN node implementation.

  • BDK 1.0.0-beta.2 is a release candidate for this library for building wallets and other Bitcoin-enabled applications. The original bdk Rust crate has been renamed to bdk_wallet and lower layer modules have been extracted into their own crates, including bdk_chain, bdk_electrum, bdk_esplora, and bdk_bitcoind_rpc. The bdk_wallet crate “is the first version to offer a stable 1.0.0 API.”

  • Bitcoin Core 28.0rc1 is a release candidate for the next major version of the predominant full node implementation. A testing guide is being prepared.

Notable code and documentation changes

Notable recent changes in Bitcoin Core, Core Lightning, Eclair, LDK, LND, libsecp256k1, Hardware Wallet Interface (HWI), Rust Bitcoin, BTCPay Server, BDK, Bitcoin Improvement Proposals (BIPs), Lightning BOLTs, Lightning BLIPs, Bitcoin Inquisition, and BINANAs.

  • LDK #3263 simplifies how it handles onion messages responses by removing the message type parameter from the ResponseInstruction struct, and introducing a new MessageSendInstructions enum based on the updated ResponseInstruction, that can handle both blinded and non-blinded reply paths. The send_onion_message method now uses MessageSendInstructions, allowing users to specify reply paths without needing to figure out the pathfinding themselves. A new option, MessageSendInstructions::ForReply, lets message handlers send responses later without creating circular dependencies in the code. See Newsletter #303.

  • LDK #3247 deprecates the AvailableBalances::balance_msat method in favor of the ChannelMonitor::get_claimable_balances method, which provides a more straightforward and accurate approach to obtaining a channel’s balance. The deprecated method’s logic is now outdated as it was originally designed to handle potential underflow issues when balances included pending HTLCs (those that could later be reversed).

  • BDK #1569 adds the bdk_core crate and moves to it some types from bdk_chain: BlockId, ConfirmationBlockTime, CheckPoint, CheckPointIter, tx_graph::Update and spk_client. The bdk_esplora, bdk_electrum and bdk_bitcoind_rpc chain sources have been changed to depend only on bdk_core. These changes were made to allow faster refactoring on bdk_chain.