bitcoin_flutter 1.0.7

  • README.md
  • CHANGELOG.md
  • Example
  • Installing
  • Versions
  • 83

<a href="https://pub.dartlang.org/packages/bitcoin_flutter"><img alt="pub version" src="https://img.shields.io/pub/v/bitcoin_flutter.svg?style=flat-square"></a>

bitcoin_flutter #

A dart Bitcoin library for Flutter.

Released under the terms of the MIT LICENSE.

Inspired by bitcoinjs

Otherwise, pull requests are appreciated.

Installing #

Flutter Packages

Examples #

import 'package:bitcoin_flutter/bitcoin_flutter.dart';
import 'package:bip39/bip39.dart' as bip39;

main() {
  var seed = bip39.mnemonicToSeed("praise you muffin lion enable neck grocery crumble super myself license ghost");
  var hdWallet = new HDWallet(seed);
  print(hdWallet.address);
  // => 12eUJoaWBENQ3tNZE52ZQaHqr3v4tTX4os
  print(hdWallet.pubKey);
  // => 0360729fb3c4733e43bf91e5208b0d240f8d8de239cff3f2ebd616b94faa0007f4
  print(hdWallet.privKey);
  // => 01304181d699cd89db7de6337d597adf5f78dc1f0784c400e41a3bd829a5a226
  print(hdWallet.wif);
  // => KwG2BU1ERd3ndbFUrdpR7ymLZbsd7xZpPKxsgJzUf76A4q9CkBpY
  
  var wallet = Wallet.fromWIF("Kxr9tQED9H44gCmp6HAdmemAzU3n84H3dGkuWTKvE23JgHMW8gct");
  print(wallet.address);
  // => 19AAjaTUbRjQCMuVczepkoPswiZRhjtg31
  print(wallet.pubKey);
  // => 03aea0dfd576151cb399347aa6732f8fdf027b9ea3ea2e65fb754803f776e0a509
  print(wallet.privKey);
  // => 3095cb26affefcaaa835ff968d60437c7c764da40cdd1a1b497406c7902a8ac9
  print(wallet.wif);
  // => Kxr9tQED9H44gCmp6HAdmemAzU3n84H3dGkuWTKvE23JgHMW8gct
}

The below examples are implemented as integration tests:

Running the test suite #

dart run test

Complementing Libraries #

LICENSE MIT

0.1.1 #

  • HDWallet from Seed implementation
  • Wallet from WIF implementation

1.0.0 #

  • Transaction implementation

1.0.1 #

  • Add derive and derive path for HD Wallet

1.0.2 #

  • Add sign and verify for HD Wallet and Wallet

1.0.3 #

  • Fix bug testnet BIP32

1.0.4 #

  • Add transaction to index

1.0.5 #

  • Add ECPair to index

1.0.6 #

  • Accept non-standard payment

1.0.7 #

  • Try catch getter privKey, base58Priv, wif
  • Possible to create a neutered HD Wallet

example/bitcoin_flutter_example.dart

import 'package:bitcoin_flutter/bitcoin_flutter.dart';
import 'package:bip39/bip39.dart' as bip39;
main() {
  var seed = bip39.mnemonicToSeed(
      "praise you muffin lion enable neck grocery crumble super myself license ghost");
  var hdWallet = new HDWallet.fromSeed(seed);
  print(hdWallet.address);
  // => 12eUJoaWBENQ3tNZE52ZQaHqr3v4tTX4os
  print(hdWallet.pubKey);
  // => 0360729fb3c4733e43bf91e5208b0d240f8d8de239cff3f2ebd616b94faa0007f4
  print(hdWallet.privKey);
  // => 01304181d699cd89db7de6337d597adf5f78dc1f0784c400e41a3bd829a5a226
  print(hdWallet.wif);
  // => KwG2BU1ERd3ndbFUrdpR7ymLZbsd7xZpPKxsgJzUf76A4q9CkBpY

  var wallet =
      Wallet.fromWIF("Kxr9tQED9H44gCmp6HAdmemAzU3n84H3dGkuWTKvE23JgHMW8gct");
  print(wallet.address);
  // => 19AAjaTUbRjQCMuVczepkoPswiZRhjtg31
  print(wallet.pubKey);
  // => 03aea0dfd576151cb399347aa6732f8fdf027b9ea3ea2e65fb754803f776e0a509
  print(wallet.privKey);
  // => 3095cb26affefcaaa835ff968d60437c7c764da40cdd1a1b497406c7902a8ac9
  print(wallet.wif);
  // => Kxr9tQED9H44gCmp6HAdmemAzU3n84H3dGkuWTKvE23JgHMW8gct
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  bitcoin_flutter: ^1.0.7

2. Install it

You can install packages from the command line:

with pub:


$ pub get

with Flutter:


$ flutter packages get

Alternatively, your editor might support pub get or flutter packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:bitcoin_flutter/bitcoin_flutter.dart';
  
Version Uploaded Documentation Archive
1.0.7 Apr 21, 2019 Go to the documentation of bitcoin_flutter 1.0.7 Download bitcoin_flutter 1.0.7 archive
1.0.6 Jan 2, 2019 Go to the documentation of bitcoin_flutter 1.0.6 Download bitcoin_flutter 1.0.6 archive
1.0.5 Dec 27, 2018 Go to the documentation of bitcoin_flutter 1.0.5 Download bitcoin_flutter 1.0.5 archive
1.0.4 Dec 27, 2018 Go to the documentation of bitcoin_flutter 1.0.4 Download bitcoin_flutter 1.0.4 archive
1.0.3 Nov 23, 2018 Go to the documentation of bitcoin_flutter 1.0.3 Download bitcoin_flutter 1.0.3 archive
1.0.2 Nov 23, 2018 Go to the documentation of bitcoin_flutter 1.0.2 Download bitcoin_flutter 1.0.2 archive
1.0.1 Nov 21, 2018 Go to the documentation of bitcoin_flutter 1.0.1 Download bitcoin_flutter 1.0.1 archive
1.0.0 Oct 19, 2018 Go to the documentation of bitcoin_flutter 1.0.0 Download bitcoin_flutter 1.0.0 archive
0.1.1 Oct 15, 2018 Go to the documentation of bitcoin_flutter 0.1.1 Download bitcoin_flutter 0.1.1 archive
0.1.0 Oct 15, 2018 Go to the documentation of bitcoin_flutter 0.1.0 Download bitcoin_flutter 0.1.0 archive

All 15 versions...

Popularity:
Describes how popular the package is relative to other packages. [more]
70
Health:
Code health derived from static analysis. [more]
94
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
83
Learn more about scoring.

We analyzed this package on Apr 24, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.2.0
  • pana: 0.12.14

Platforms

Detected platforms: Flutter, web, other

No platform restriction found in primary library package:bitcoin_flutter/bitcoin_flutter.dart.

Health issues and suggestions

Document public APIs. (-0.63 points)

160 out of 162 API elements have no dartdoc comment.Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API.

Fix lib/src/transaction_builder.dart. (-3.93 points)

Analysis of lib/src/transaction_builder.dart reported 8 hints, including:

line 152 col 11: Use isEmpty instead of length

line 154 col 11: Use isEmpty instead of length

line 167 col 11: Use isNotEmpty instead of length

line 168 col 11: Use isNotEmpty instead of length

line 220 col 14: Use isEmpty instead of length

Fix lib/src/bitcoin_flutter_base.dart. (-0.50 points)

Analysis of lib/src/bitcoin_flutter_base.dart reported 1 hint:

line 10 col 8: Unused import: 'dart:convert'.

Fix lib/src/utils/script.dart. (-0.50 points)

Analysis of lib/src/utils/script.dart reported 1 hint:

line 110 col 7: Use isEmpty instead of length

Fix additional 5 files with analysis or formatting issues.

Additional issues in the following files:

  • lib/src/utils/check_types.dart (Run dartfmt to format lib/src/utils/check_types.dart.)
  • lib/src/utils/constants/op.dart (Run dartfmt to format lib/src/utils/constants/op.dart.)
  • lib/src/utils/magic_hash.dart (Run dartfmt to format lib/src/utils/magic_hash.dart.)
  • lib/src/utils/push_data.dart (Run dartfmt to format lib/src/utils/push_data.dart.)
  • lib/src/utils/varuint.dart (Run dartfmt to format lib/src/utils/varuint.dart.)

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.58.0 <3.0.0
bip32 ^1.0.5 1.0.5
bip39 ^1.0.3 1.0.3
bs58check ^1.0.1 1.0.1
hex ^0.1.2 0.1.2
meta ^1.1.5 1.1.7
pointycastle ^1.0.0-rc2 1.0.1
Transitive dependencies
charcode 1.1.2
collection 1.14.11
convert 2.1.1
crypto 2.0.6
typed_data 1.1.6
Dev dependencies
test ^1.0.0