Bitcoin Dev Kit

https://bitcoindevkit.org/

About Me (Evan Lin)

  • Independent FOSS Developer
  • Funded by Spiral (Block Inc.)
  • Based in Taiwan

https://spiral.xyz/

Why Bitcoin?

Decentralization

  • Ease of running a full node
  • Soft-forks instead of hard-forks

What is BDK?

  • Bitcoin wallet library.
  • Rust.
  • Modular.
  • Cross-platform.
  • Language-bindings.

Who uses BDK?

https://bitcoindevkit.org/case-studies/

What does BDK do?

  • Keychain management
  • Monitor blockchain
  • Transaction building

Keychain Management

  • Cryptographic keys.
  • Complex spending conditions?
  • Script type?

 

Wallet descriptor (Miniscript)

https://bitcoindevkit.org/descriptors

Monitor Blockchain

  • SPK-based APIs
    • Electrum
    • Esplora
  • Block-by-block syncing
    • Bitcoin Core
    • Compact-block-filter (Nakamoto)
  • Implement your own!

Transaction Building

  • Planning module (how to sign?)
  • Coin control (filter/group coins)
  • Coin selection
  • Sign transaction

Summary

  • BDK is a powerful, modular wallet library.
  • Wallets are responsible for:
    • Keychain management.
    • Blockchain monitor.
    • Transaction building.
  • BDK does the above.
  • Use BDK.

BDK Discord