#bitcoin #wallet #cryptocurrency #descriptor #miniscript

descriptor-wallet

Library for building descriptor-based bitcoin wallets

20 releases

0.5.0-alpha.5 Aug 31, 2021
0.5.0-alpha.3 Aug 27, 2021
0.4.1 May 4, 2021
0.4.0 Mar 8, 2021
0.3.5 Jan 26, 2021

#707 in Magic Beans

Download history 63/week @ 2021-06-06 28/week @ 2021-06-13 16/week @ 2021-06-20 86/week @ 2021-06-27 48/week @ 2021-07-04 194/week @ 2021-07-11 156/week @ 2021-07-18 156/week @ 2021-07-25 232/week @ 2021-08-01 122/week @ 2021-08-08 144/week @ 2021-08-15 327/week @ 2021-08-22 477/week @ 2021-08-29 111/week @ 2021-09-05 134/week @ 2021-09-12 341/week @ 2021-09-19

651 downloads per month
Used in 19 crates (10 directly)

Apache-2.0

48KB
1K SLoC

Descriptor wallet library

Build Tests Lints codecov

crates.io Docs unsafe forbidden Apache2 licensed

Library for building descriptor-based bitcoin wallets. Everything a modern read-only bitcoin wallet needs, but which is not (yet) a part of rust-bitcoin library.

NB: The library does not work with private keys; it is advised that wallets will be designed in a way assuming zero private key access for all of their operations aside from transaction signing; this part must be separated into other repository/library and be strictly controlled.

This library previously was a part of LNP/BP Core Library.

Library components:

  • More efficient manipulations with BIP-32 derivation paths
  • Universal miniscript/classical bitcoin descriptors
  • Script templates allowing embedding extended pubkeys into bitcoin script assembly
  • Lexicographic ordering of transaction & PSBT inputs & oututs
  • Script type system
  • Helper types for working with hash-lock contracts
  • PSBT utility functions (retrieving previous output, computing fee)

Includes separate crate for SLIP-132 functionality in /slip132 subdirectory.

Dependencies

~7MB
~143K SLoC