패키지, 저장소 및 앱 카테고리 검색

패키지 상세v0.2.2

bech32

플러터 친화적인 방식으로 비트코인의 BIP173(Bech32 인코딩) 사양을 구현하는 라이브러리입니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
15만
좋아요
6
Pub 점수
160

패키지 설치

flutter pub add bech32

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

플러터와 호환되는 라이브러리로 비트코인의 BIP173 Bech32 인코딩 표준을 구현하여 네이티브 세그윗 주소를 안전하고 효율적으로 처리할 수 있습니다. 모든 주요 플랫폼에서 원활한 통합을 위해 설계되어 현대 비트코인 거래에서 사용되는 Bech32 문자열의 정확한 인코딩 및 디코딩을 보장합니다. 패키지는 가볍고 공식 사양에 충실하게 따라가므로 Bech32 형식 준수를 엄격히 요구하는 암호화폐 애플리케이션에 적합합니다.

사용 사례

  • 비트코인 세그윗 주소 인코딩
  • 지갑에서 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 개

소스 저장소

이 패키지를 사용하는 프로젝트