bech32
플러터 친화적인 방식으로 비트코인의 BIP173(Bech32 인코딩) 사양을 구현하는 라이브러리입니다.
BIP173의 플러터 친화적 구현
아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
An implementation of the BIP173 spec for Segwit Bech32 address format.
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
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.
Add it to your pubspec.yaml:
dependencies:
bech32: any
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.