Skip to content

A collection of helpers for signing bitcoin transactions with segwit.

License

Notifications You must be signed in to change notification settings

exonum/btc-transaction-utils

Repository files navigation

btc-transaction-utils

Travis Build Status Appveyor Build Status dependency status Docs.rs rust 1.23+ required

BTC transaction utils is a small library that helps to create multisig addresses and to swiftly sign some types of segwit transactions as well as to check the existing signatures, if required.

Manipulations with segwit transactions are quite complicated, so the main goal is to provide a simple and clear solution for the most common operations as mentioned above.

Features

  • Creating of the redeem script, which is used in the multisignature transactions.
  • Creating and checking of the applied signatures of the p2wsh inputs.
  • Creating and checking of the applied signatures of the p2wpk inputs.

Note: This library supports only the SIGHASH_ALL type of signatures.

TODO

Some features are not implemented at the moment, but are desired in future releases. Any help in implementation of the below listed items is welcome.

  • Implement support for P2SH-P2WPKH and P2SHP2WSH inputs.
  • Implement TransactionBuilder which helps to create unsigned transactions.
  • Implement support for legacy inputs.
  • Implement universal transaction signer which can automatically detect the kind of output for the corresponding input.

License

Licensed under the Apache License (Version 2.0). See LICENSE for details.