Sha256: 96acde5cc9b0dff7760e91b7c77ef12c4ebd4b8eb4563e42b4b12b1cc33cdb3f
Contents?: true
Size: 1.99 KB
Versions: 1
Compression:
Stored size: 1.99 KB
Contents
# Bech32 [](https://travis-ci.org/azuchi/bech32rb) [](https://badge.fury.io/rb/bech32) [](LICENSE) The implementation of the Bech32 encoder and decoder for Ruby. Bech32 is checksummed base32 format that is used in following Bitcoin address format. https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki ## Installation Add this line to your application's Gemfile: ```ruby gem 'bech32' ``` And then execute: $ bundle Or install it yourself as: $ gem install bech32 ## Usage Require the Gem: ```ruby require 'bech32' ``` ### Decode Decode Bech32-encoded data into hrp part and data part. ```ruby hrp, data = Bech32.decode('BC1QW508D6QEJXTDG4Y5R3ZARVARY0C5XW7KV8F3T4') # hrp is human-readable part of Bech32 format 'bc' # data is data part of Bech32 format [0, 14, 20, 15, 7, 13, 26, 0, 25, 18, 6, 11, 13, 8, 21, 4, 20, 3, 17, 2, 29, 3, 12, 29, 3, 4, 15, 24, 20, 6, 14, 30, 22] ``` Decode Bech32-encoded Segwit address into `Bech32::SegwitAddr` instance. ```ruby segwit_addr = Bech32::SegwitAddr.new(addr) # generate script pubkey segwit_addr.to_script_pubkey => 0014751e76e8199196d454941c45d1b3a323f1433bd6 ``` ### Encode Encode Bech32 human-readable part and data part into Bech32 string. ```ruby hrp = 'bc' data = [0, 14, 20, 15, 7, 13, 26, 0, 25, 18, 6, 11, 13, 8, 21, 4, 20, 3, 17, 2, 29, 3, 12, 29, 3, 4, 15, 24, 20, 6, 14, 30, 22] bech = Bech32.encode(hrp, data) => bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ``` Encode Segwit script into Bech32 Segwit address. ```ruby segwit_addr = Bech32::SegwitAddr.new segwit_addr.script_pubkey = '0014751e76e8199196d454941c45d1b3a323f1433bd6' # generate addr segwit_addr.addr => bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ``` ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bech32-1.0.0 | README.md |