owned this note
owned this note
Published
Linked with GitHub
# Q4 Spiral Update (for Q3 Work)
# Paragraph Style
Keep an eye out for the bdk `1.0.0-alpha.2` release with all the improvments added in Q3. Noteble changes include [@evanlinjin]'s innovative new [bitcoind RPC based blockchain client module](https://github.com/bitcoindevkit/bdk/pull/1041) that updates the chain and wallet state block by block. This enables quick syncing to bitcoind, even for wallets tracking many addresses. [@evanlinjin] also merged a major change to [Implement linked-list LocalChain](https://github.com/bitcoindevkit/bdk/pull/1034). This change enables more efficent and thread safe block data storage. [@vladimirfomene] did some required refactoring to the chain update structures to improve usability. [@danielabrozzoni] performed our long overdue upgrade to the latest `rust-bitcoin` 0.30 version which is a big win for interoperating with other `rust-bitcoin` base projects. [@notmandatory] removed the `TransactionDetails` type from the Wallet API and replaced it with new functions to provide the same info. [@evanlinjin] added a new cli example for the esplora blockchain client showing off new chain syncing features. And [@LagginTimes] and [@danielabrozzoni] implemented a new and improved set of tests to prevent conflicting transactions in the `TxGraph` struture.
In related news, [@danielabrozzoni]'s `rust-miniscript` planning module [PR](rust-bitcoin/rust-miniscript#592) was merged :tada:. This work lays the foundation for future improvements to the bdk transaction builder.
A new BDK Case Studies page was released on the [bitcoindevkit website](https://bitcoindevkit.org/) showcasing a growing list of projects that use the bitcoin development kit. a new maintenance bdk version [0.29.0](https://github.com/bitcoindevkit/bdk/releases/tag/v0.29.0) was released which fixes a small bug in the wallet and updates the rust-bitcoin dependency to the latest 0.30 version.
The language bindings for BDK have a new release (0.30.0) of bdk-android, BitcoinDevKit (Swift library), bdkpython, bdk-rn, and bdk-flutter with support for new BIP-86 (Taproot) descriptor templates. The language bindings are also working to make their build tools and system well documented and produce templates so that other Rust-based bitcoin projects can leverage their process. Check out the [uniffi examples website](https://thunderbiscuit.github.io/uniffi-examples/getting-started/introduction.html) and [Rust language bindings template](https://github.com/thunderbiscuit/uniffi-bindings-template) for more information. Three successfull Summer of Bitcoin projects were completed, including a new [Swift iOS Demo Wallet] for which [@reez] and [@notmandatory] mentored [@Ytemiloluwa](https://github.com/Ytemiloluwa), adding [Payjoin support to bdk-cli](https://github.com/bitcoindevkit/bdk-cli/pull/156) for which [@DanGould](https://github.com/DanGould) and [@notmandatory] mentored [@willowenss](https://github.com/willowenss), and a now ready-for-showtime [Padawan Wallet](https://padawanwallet.com/), where [@thunderbiscuit] mentored [@Prakhar](https://github.com/Prakhar-Agarwal-byte).
The summer also saw some of the crew active in the community and at conferences. [@evanlinjin] was on the [億聰哲史 podcast](https://open.spotify.com/episode/3IMsSOPG6ngHiLDOsWA8Yl?si=kushf4q0SiqpRhjQrdPLRw), helped start a new [BitDevs in Taipei](https://www.meetup.com/taiwan-bitdevs/events/295581262), and gave a talk and workshop at the first [Bitcoin Thailand conference](https://twitter.com/evanlinjin/status/1681317323477770241). [@danielabrozzoni] taught a few lessons on Bitcoin and BDK for the cubo+ mentoring program, gave a talk at hack.bs.it on Rust, and was on the ["Il priorato del Bitcoin" podcast](https://open.spotify.com/episode/3ciY2ChgvgfiJCbWsF02yf?si=TWA6mPp8RWe1WMTAWTRa9g) for an episode on Bitcoin technical news (BIP324, covenants, drivechains, Ark, etc). [@notmandatory] gave a [workshop](https://github.com/TABConf/2023.tabconf.com/issues/113) at [TABConf2023](https://2023.tabconf.com/) on how to use the new BDK 1.0 syncing mechanisms.
<br>
<br>
# Bullet Points Style
* Check out the new [BDK case studies page](https://bitcoindevkit.org/case-studies/) with a growing list of projects that use the bitcoin development kit.
## BDK 1.0
* Keep an eye out for the bdk `1.0.0-alpha.2` release with all the improvments below.
* [@evanlinjin] implemented an innovative new [bitcoind RPC based blockchain client module](https://github.com/bitcoindevkit/bdk/pull/1041) that updates the chain and wallet state block by block. This enables quick syncing to bitcoind, even for wallets tracking many addresses.
* [@evanlinjin] merged a major change to [Implement linked-list LocalChain](https://github.com/bitcoindevkit/bdk/pull/1034). This change enables more efficent and thread safe block data storage.
* [@vladimirfomene] did some required refactoring to the chain update structures to improve usability.
* [@danielabrozzoni] performed our long overdue upgrade to the latest `rust-bitcoin` 0.30 version which is a big win for interoperating with other `rust-bitcoin` base projects.
* [@danielabrozzoni]'s `rust-miniscript` planning module [PR](rust-bitcoin/rust-miniscript#592) was merged :tada:. This work lays the foundation for future improvements to the bdk transaction builder.
* [@notmandatory] removed the `TransactionDetails` type from the Wallet API and replaced it with new functions to provide the same info via new functions.
* [@evanlinjin] added a new cli example for the esplora blockchain client showing off new chain syncing features.
* [@LagginTimes] and [@danielabrozzoni] implemented a new and improved set of tests to prevent conflicting transactions in the `TxGraph` struture.
## BDK Maintenance
* bdk version [0.29.0](https://github.com/bitcoindevkit/bdk/releases/tag/v0.29.0) was released which fixes a bug in the wallet balance if the wallet receives more than one coinbase transaction and updates the rust-bitcoin dependency to the latest 0.30 version.
## BDK Language Bindings
* released bdk-cli version [0.30.0](https://github.com/bitcoindevkit/bdk-ffi/releases/tag/v0.30.0) of bdk-android, BitcoinDevKit (Swift library), bdkpython, bdk-rn, and bdk-flutter with support for new BIP-86 (Taproot) descriptor templates (plus a bunch of internal improvements).
* [@thunderbiscuit] added the [uniffi examples website](https://thunderbiscuit.github.io/uniffi-examples/getting-started/introduction.html) and [Rust language bindings template](https://github.com/thunderbiscuit/uniffi-bindings-template) repo to help other Rust-based bitcoin projects leverage language bindings.
* [@reez] created the new [Swift iOS Demo Wallet] project to help jumpstart new BDK iOS wallet projects and demonstrate best practices. See also [@reez]'s blog post ["Developing a Bitcoin Wallet for iOS"](https://matthewramsden.substack.com/p/developing-a-bitcoin-wallet-for-ios).
## Summer of Bitcoin
We wrapped up three [SoB](https://www.summerofbitcoin.org/) projects to:
* Add new screens and multilanguage support to new [Swift iOS Demo Wallet], [@reez] and [@notmandatory] mentored [@Ytemiloluwa](https://github.com/Ytemiloluwa) from Ahmadu Bello University (Nigeria).
* Add [Payjoin support to bdk-cli](https://github.com/bitcoindevkit/bdk-cli/pull/156), [@DanGould](https://github.com/DanGould) and [@notmandatory] mentored [@willowenss](https://github.com/willowenss) from Vanderbilt University, Nashville.
* Add advanced bitcoin features to [Padawan Wallet](https://padawanwallet.com/), [@thunderbiscuit] mentored [Prakhar](https://github.com/Prakhar-Agarwal-byte) at the Indian Institute of Technology (Banaras Hindu University), Varanasi.
## BDK Talks and Workshops
* [@evanlinjin] had a chat about BDK on the [億聰哲史 podcast](https://open.spotify.com/episode/3IMsSOPG6ngHiLDOsWA8Yl?si=kushf4q0SiqpRhjQrdPLRw), let us know how his chinese is, helped run some workshops and socratic seminars for [BitDevs in Taipei](https://www.meetup.com/taiwan-bitdevs/events/295581262), and gave a talk and workshop at the first [Bitcoin Thailand conference](https://twitter.com/evanlinjin/status/1681317323477770241).
* [@danielabrozzoni] taught a few lessons on Bitcoin and BDK for the cubo+ mentoring program and gave a talk at hack.bs.it on Rust.
* [@notmandatory] gave a [workshop](https://github.com/TABConf/2023.tabconf.com/issues/113) at [TABConf2023](https://2023.tabconf.com/) for how to use the new BDK 1.0 syncing mechanisms.
* [@danielabrozzoni] was on the ["Il priorato del Bitcoin" podcast](https://open.spotify.com/episode/3ciY2ChgvgfiJCbWsF02yf?si=TWA6mPp8RWe1WMTAWTRa9g) for an episode on Bitcoin technical news (BIP324, covenants, drivechains, Ark, etc)
[@LagginTimes]: https://github.com/LagginTimes
[@vladimirfomene]: https://github.com/vladimirfomene
[@evanlinjin]: https://github.com/evanlinjin
[@danielabrozzoni]: https://github.com/danielabrozzoni
[@reez]: https://github.com/reez
[@notmandatory]: https://github.com/notmandatory
[@thunderbiscuit]: https://github.com/thunderbiscuit
[Swift iOS Demo Wallet]: https://github.com/reez/BDKSwiftExampleWallet