bech32 0.1.2

Dart native js
Flutter Android iOS web

Library implementing Bitcoins BIP173 (Bech32 encoding) specification in a Flutter friendly fashion.

Bech32 #

pub package

An implementation of the BIP173 spec for Segwit Bech32 address format.

Examples #

  Segwit address = segwit.decode("bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k7grplx");
  print(address.scriptPubKey);
  // => 5128751e76e8199196d454941c45d1b3a323f1433bd6751e76e8199196d454941c45d1b3a323f1433bd6
  print(address.version);
  // => 1

The lightning BOLT #11 spec can have longer inputs than the BIP173 spec allows. Use the positional maxLength parameter to override the validation.

  String paymentRequest = "lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqca784w";
  Bech32Codec codec = Bech32Codec();
  Bech32 bech32 = codec.decode(
    paymentRequest,
    paymentRequest.length,
  );
  print("hrp: ${bech32.hrp}");
  // => hrp: lnbc

Exceptions #

The specification defines a myriad of cases in which decoding and encoding should fail. Please make sure your code catches all the relevant exception defined in lib/exceptions.dart.

Installing #

Add it to your pubspec.yaml:

dependencies:
  bech32: any

Licence overview #

All files in this repository fall under the license specified in COPYING. The project is licensed as AGPL with a lesser clause. It may be used within a proprietary project, but the core library and any changes to it must be published online. Source code for this library must always remain free for everybody to access.

Thanks #

2
likes
90
pub points
84%
popularity

Library implementing Bitcoins BIP173 (Bech32 encoding) specification in a Flutter friendly fashion.

Repository (GitHub)
View/report issues

Documentation

API reference

Uploaders

harmaarts@gmail.com
dominikspicher@gmail.com

License

AGPL 3.0 (COPYING)

Dependencies

convert

More

Packages that depend on bech32