#crypto #bitcoin #segwit

btc-transaction-utils

A collection of helpers for signing bitcoin transactions with segwit

6 releases (breaking)

✓ Uses Rust 2018 edition

new 0.5.0 Mar 14, 2019
0.4.0 Nov 22, 2018
0.3.1 Aug 31, 2018
0.2.0 May 24, 2018
0.1.0 May 16, 2018

#75 in Cryptocurrencies

Download history 72/week @ 2018-11-29 63/week @ 2018-12-06 50/week @ 2018-12-13 55/week @ 2018-12-20 3/week @ 2018-12-27 17/week @ 2019-01-03 30/week @ 2019-01-10 18/week @ 2019-01-17 19/week @ 2019-01-24 12/week @ 2019-01-31 6/week @ 2019-02-07 9/week @ 2019-02-14 9/week @ 2019-02-21 17/week @ 2019-02-28 18/week @ 2019-03-07

79 downloads per month
Used in 1 crate

Apache-2.0

57KB
878 lines

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.

Dependencies

~4MB
~65K SLoC