パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v0.2.2

bech32

Flutterに親しみやすい形でビットコインのBIP173(Bech32エンコーディング)仕様を実装するライブラリ。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
15万
いいね数
6
Pub ポイント
160

パッケージをインストール

flutter pub add bech32

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Flutter互換性のあるライブラリで、ビットコインのBIP173 Bech32エンコーディング標準を実装しており、ネイティブなSegWitアドレスを安全かつ効率的に扱うことを可能にします。すべての主要プラットフォームでのシームレスな統合を目的としており、現代のビットコイン取引で使用されるBech32文字列の正確なエンコードおよびデコードを保証します。パッケージは軽量であり、公式仕様に忠実に従っているため、Bech32フォーマットへの厳密な準拠が必要な暗号通貨アプリケーションに最適です。

用途

  • Bitcoin segwit アドレスのエンコード
  • ウォレット内のBech32文字列のデコード
  • 暗号化アプリにおけるアドレス形式の検証
  • ビットコインベースのサービスとの統合
  • クロスプラットフォームアドレス処理

主な機能

  • 完全な BIP173 対応
  • Android、iOS、Web、macOS、Windows、Linux をサポート
  • エンコードおよびデコード用のシンプルな API
  • 軽量で高速
  • 堅牢なエラー処理

適している対象

  • ビットコインウォレット開発者
  • 暗号アプリ開発者
  • ブロックチェーンの統合
  • クロスプラットフォームモバイルアプリ
  • セキュリティに焦点を当てたアプリケーション

注意事項

  • Bech32形式のみを処理し、他のアドレス形式は対応していません
  • コンテキスト固有のルールの手動検証が必要です
  • ビットコイン以外の用途には適していません
  • Bech32m (BIP350) に対する組み込みサポートなし
  • エンコード/デコード操作に限定

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Bech32

pub package CircleCI

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

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

このパッケージを使用しているプロジェクト