Skip to content

Releases: chaintope/bitcoinrb

v0.9.0 release

12 Nov 12:04
Compare
Choose a tag to compare

The following fixes and improvements are included in this release:

  • Bitcoin::PSBT supports PSBT data read from file and write to file.
  • Bitcoin::Taproot::SimpleBuilder change following:
    • The interface that receives script and leaf version has been changed to an interface that receives Bitcoin::Taproot::LeafNode.
    • Bitcoin::Taproot provides some utility methods to help spending P2TR.

For more detail about how to build and spend P2TR, see the Wiki page.

v0.8.0 release

29 Jun 10:49
Compare
Choose a tag to compare

The following fixes and improvements are included in this release:

  • Add strict data check for transaction parsing(8e3f985)
  • Accelerating taproot testing through parallel execution
  • Speed up to use libsecp256k1 with Bitcoin::ExtPubkey#derive same as ExtKey#derive(b3b2ec9)
  • Implement Bitcoin::MessageSign that sign any message using key(see wiki)
  • Add Bitcoin::Script#p2tr? which check script whether P2TR or not(f164afe)
  • Add Bitcoin::Taproot::SimpleBuilder to support building Taproot P2TR and creating transactions when spending it.

v0.7.0 release

19 Feb 01:43
Compare
Choose a tag to compare

This release includes the following improvements and features:

P2P

The new P2P messages sendaddrv2 and addrv2 defined in BIP-155 have been added.

  • Bitcoin::Message::SendAddrV2
  • Bitcoin::Message::AddrV2

In addition, the following features have been added that are useful for handling P2P messages.

  • Bitcoin::Message::Base#from_pkt(message): This method decodes a single P2P message containing the magic bytes and creates an instance of the corresponding message class.
  • Bitcoin::Message#decode(command, payload): This method creates an instance of the corresponding message class from the P2P command and payload specified in the arguments.

Improvements

  • Improve String#opcode performance: The performance of String#opcode, which is extended with open classes, has been improved. It used to convert all data to bytes, but now String#ord is executed after specifying the character encoding. This change is not expected to have any impact, but if it does, please report it.
  • Update the dependent library bech32rb: The version of the dependent library bech32rb has been updated to v1.1.0. It now supports bech32m, the Taproot address encoding.

bitcoinrb v0.6.0 release

20 Jan 02:28
Compare
Choose a tag to compare

Notable Changes

This release includes following new features, various bug fixes:

  • Support schnorr signature(BIP340).
  • Support taproot and taprscrpt consensus(BIP341 and BIP342).
  • Support ruby 3.0 environment.
  • Add signet chain parameter. (1a701c3)
  • Fix Bitcoin::RPC::BitcoinCoreClient exception message string to JSON format. (1054307)
  • Add public key full validation when initializing Bitcoin::Key. (09bd128)

bitcoinrb v0.5.0

19 Aug 07:02
Compare
Choose a tag to compare

Notable changes

Support BIP74 payment code

Support BIP74 (Payment code) in Bitcoin::PaymentCode

Add BIP157 messages

Add BIP157 messages.

Support BIP85

Support BIP85 in Bitcoin::BIP85Entropy

Bitcoin::Script

  • Fix #to_s display bug when an empty string is set from the stack.

PSBT

Due to CVE-2020-14199, Bitcoin::PSBT::Tx now includes and allow both non_witness_utxo and witness_utxo for segwit inputs.

Miscellaneous

  • Change peer discovery to find peer which supports NODE_BLOOM
  • Change coinbase script loading logic in Bitcoin::TxIn
  • Remove rest-client gem dependency.
  • Add ECDSA::Point#to_hex method which convert Elliptic Curve Point to hex string.

bitcoinrb v0.4.0

27 Dec 03:57
Compare
Choose a tag to compare

Notable changes

  • Remove fork coin support: Fork_ID of Bitcoin Cash was supported, but fork coin support was removed because the difference in specifications with Bitcoin including the addition of opcode became large.
  • Add Bitcoin::Script#to_addr method to replace Bitcoin::Script#addresses.
  • Fix testnet extended public key version byte for p2wsh-p2sh.
  • Add depth limit check for Extended Key. If you try to derive a key with more than 256 depth, you will get an error.