Skip to content

Commit

Permalink
blog: add 2023 Q4 project update
Browse files Browse the repository at this point in the history
  • Loading branch information
notmandatory committed Feb 18, 2024
1 parent 78ba76d commit ae67653
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions docs/_blog/2024_q4_update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
title: "BDK 2023 Q4 Project Update"
description: "2023 Q4 update on the BDK project's progress."
authors:
- Steve Myers
- Daniela Brozzoni
date: "2024-02-20"
tags: ["BDK","project"]
draft: false
---

### This Blog Post

The [Spiral](https://spiral.xyz) team has graciously supported BDK financially (and spiritually) for the past four years and since early 2022 the BDK team has let folks know what we've been up to via the [Spiral blog](https://spiral.xyz/blog/). As of last summer we are grateful to also have received a generous [OpenSats grant](https://opensats.org/blog/bitcoin-and-nostr-grants-august-2023) supporting our work. To keep our current and future financial supporters, open source contributors, and downstream users updated on our progress, starting this year we will also be publishing a quarterly BDK project updates here on our blog.

### End of Year Review

The BDK project is made up of a core suite of [rust](https://www.rust-lang.org/) libraries ([bdk-*](https://github.com/bitcoindevkit/bdk)) that work together to provide everything an application developer needs to incorporate on-chain bitcoin wallet functionality into their project. Wrapped around the BDK core libraries is our [bdk-ffi](https://github.com/bitcoindevkit/bdk-ffi) bindings libraries that can be used seamlessly in Kotlin (desktop/android), Swift (desktop/iOS), and Python projects. And wrapped around all of this software is documentation and examples. For over a year the BDK team has been working on a major [re-architecture](https://bitcoindevkit.org/blog/tags/architecture/) of the BDK libraries to improve blockchain syncing, embedded device support ([no-std](https://docs.rust-embedded.org/book/intro/no-std.html)), update key dependencies ([rust-bitcoin](https://github.com/rust-bitcoin/rust-bitcoin), [rust-miniscript](https://github.com/rust-bitcoin/rust-miniscript)) and finally to provide a stable new 1.0 API that our users can rely on for their production applications.

The team is currently working on the 1.0.0-alpha release train. The purposed of these alpha releases is to give early adopters (including our own bdk-ffi team) a chance to try-out new BDK features and updated APIs and provide feedback. Once we have a stable, feature complete 1.0.0 BDK that our alpha users love we'll begin publishing 1.0.0-beta releases. With our beta releases we will finish updating tutorials and examples and performance testing, and ask all BDK users to test their own applications with BDK 1.0.0. When our key contributors and users are satisfied have shaken any final issues out of 1.0.0-beta we'll publish our BDK 1.0.0 release and use [semantic versioning](https://semver.org/) for subsequent releases. For those keeping score, we'd originally planned to have a BDK 1.0.0 release out last year, but as I'm sure as our kind readers understand making solid, safe bitcoin software is hard, reviewing it is even harder, and every project in the space is short-handed.

### Core BDK

For Q4 2023 we merged 33 PRs, closed 32 issues, and completed two 1.0.0-alpha releases, [1.0.0-alpha.2](https://github.com/bitcoindevkit/bdk/releases/tag/v1.0.0-alpha.2) and [1.0.0-alpha.3](https://github.com/bitcoindevkit/bdk/releases/tag/v1.0.0-alpha.3). The primary deliverable of these releases was to further stabilize the `bdk_chain` crate, which provides the central logic for tracking and updating wallet keychains and scripts to be tracked and manages all the related bitcoin blockchain transaction data. Additional PRs started the groundwork for the next phase of development focused on improving syncing data via blockchain clients and saving data to persistent storage. We also made one maintenance release [0.29.0](https://github.com/bitcoindevkit/bdk/releases/tag/v0.29.0) that upgraded our `rust-bitcoin` dependency to release to 0.30.

### BDK-FFI

For Q4 BDK Kotlin,Swift, and Python `bdk-ffi` language bindings we merged 23 PRs and closed 15 issues. One maintenance release was completed, [v0.31.0](https://github.com/bitcoindevkit/bdk-ffi/releases/tag/v0.31.0), which updated to the latest `bdk` maintenance release 0.29.0 and updated the `bdk-ffi` `rust-bitcoin` dependency to version 0.30. This quarter the team took on the big task of creating the `bdk-ffi` [v1.0.0-alpha2a](https://github.com/bitcoindevkit/bdk-ffi/releases/tag/v1.0.0-alpha.2a) release. This `bdk-ffi` release is based on `bdk` 1.0.0-alpha.2 and though only able to expose part of the full `bdk` API prepares the project for full support in future releases. As part of this work the current Kotlin API docs were removed, but fear not they will return in future alpha releases, and be better than ever with corresponding Swift and Python API docs.

### BDK contributors spotlight

**Daniela Brozzoni**

November 3: bolt.fun talk on open source development, [YouTube](https://www.youtube.com/watch?v=P75nCR1owws).

October 25-26: ["Contributing to free and open source projects" panel](https://planb.lugano.ch/contributing-to-free-and-open-source-projects/) at Plan B lugano.

**Evan Linjin**

November 15: Worked with [wizardsardine](https://wizardsardine.com/) team to [extract and integrate BDK coin-selection into the Liana wallet](https://twitter.com/darosior/status/1724842410839093562).

December 3: Spoke at the [Bitcoin Tech Summit Taipei](https://twitter.com/TaiwanBitdevs/status/1726537941688967238).

December 13: Gave a talk about Bitcoin and BDK at [Taipei Blockchain Week](https://twitter.com/JCBA_org/status/1735100779172856170).

**Thunderbiscuit**

November 8: Created the educational [Opcode Explained](https://opcodeexplained.com/) website to... explain bitcoin opcodes!

November 15: Joined the panel on the [Bitcoin Review Podcast Episode 55](https://bitcoin.review/podcast/episode-55/) to talked about his [padawan-wallet](https://github.com/thunderbiscuit/padawan-wallet) project.

**Mathew Ramsden**

October 11: "Exploring the Lightning Network with special guests" at the [Bitcoin Park OpenHouse](https://www.meetup.com/bitcoinpark/events/291768716/) in Nashville, TN.

November 8: Bitcoin Developers channel on YouTube, ["Lightning Development with Swift: Make Your First Lightning App with LDK Node Swift"](https://www.youtube.com/watch?v=rcU3LU6iZCs).

**Other current and future contributors...**

If you are a contributor to BDK and doing something fun and BDK and/or bitcoin related let us know! Tag [@bitcoindevkit](https://twitter.com/bitcoindevkit/) on X or [notmandatory](https://primal.net/profile/npub1ke470rdgnxg4gjs9cw3tv0dp690wl68f5xak5smflpsksedadd7qtf8jfm) on nostr, or email us blog at bitcoindevkit dot org.

0 comments on commit ae67653

Please sign in to comment.