Merge rust-bitcoin/rust-bitcoin#1100: Document PSBT roles and limitation

896ca42a53 Document PSBT roles and limitation (DanGould)

Pull request description:

  The READEME claims rust-bitcoin supports PSBT finalization, but really needs rust-miniscript for that. I think we should make this clear in this crate's PSBT examples as well.

  > > Understanding scripts and witnesses doesn't scream rust-miniscript to me. Miniscript crate is not the first place I'd look, since it's additional.
  >
  > We should probably add it to the README here or something. If I needed to deal with scripts or witnesses in any way beyond reserializing them or hashing scriptpubkeys into addresses, I'd immediately turn to Miniscript. You basically can't work on scripts without it, unless you are doing something very specific.
  >
  > >Anywhere there's PSBT code I expect a finalizer, even if it had documented limitations.
  >
  > Not to be too glib, but suppose we had a finalizer that just always returned an error, and was documented not to finalize any transactions. Would that meet your expectations? It is hard to do much more without Miniscript.
  >

  _Originally posted by apoelstra in https://github.com/rust-bitcoin/rust-bitcoin/issues/630#issuecomment-1175316689_

ACKs for top commit:
  apoelstra:
    ACK 896ca42a53
  tcharding:
    ACK 896ca42a53

Tree-SHA512: e71a65b8c04134d9b3406ea76bb915fa116e4a961f9f6cb24350422f9d550cba26a630e02f9ba352fae63076926532bc4bf2d1001488666a05f18d7774ddda9e
This commit is contained in:
Andrew Poelstra 2022-07-17 22:50:02 +00:00
commit 2ba759e269
No known key found for this signature in database
GPG Key ID: C588D63CE41B97C1
1 changed files with 1 additions and 1 deletions

View File

@ -26,7 +26,7 @@ Supports (or should support)
* De/serialization of blocks and transactions
* Script de/serialization
* Private keys and address creation, de/serialization and validation (including full BIP32 support)
* PSBT creation, manipulation, merging and finalization
* PSBT v0 de/serialization and all but the Input Finalizer role. Use [rust-miniscript](https://docs.rs/miniscript/latest/miniscript/psbt/index.html) to finalize.
* Pay-to-contract support as in Appendix A of the [Blockstream sidechains whitepaper](https://www.blockstream.com/sidechains.pdf)
For JSONRPC interaction with Bitcoin Core, it is recommended to use