darosior / python-bip380

Bitcoin Output Script Descriptors with Miniscript extension
MIT License
20 stars 5 forks source link

Bitcoin Script Descriptors, with Miniscript extension

About

In Bitcoin, output Scripts are used to express the conditions by which the amount associated with the output may be spent.

Output Script Descriptors are a simple language which can be used to describe such Scripts generally and precisely. Bitcoin Output Script Descriptors are defined in a set of BIPs, the main one being bip-0380.

Miniscript is a language for writing (a subset of) Bitcoin Scripts in a structured way. It is an extension to Output Script Descriptors and is currently only defined within P2WSH context.

Miniscript permits:

Miniscript guarantees:

This library provides an implementation of Segwit-native Output Descriptors and of Miniscript (to be used within wsh() descriptors), with a minimal amount of dependencies.

WIP: this is not ready for any real use!

This library is still a work in progress. It contains known bugs (in the satisfier or the Taproot-Miniscript implementation for instance) and there are probably many unknown ones. See this issue for a discussion about the state of this library.

Still, it's ready for hacking around and contributions are welcome. See the issue tracker for ideas on where to start.