Skip to content

Latest commit

 

History

History
111 lines (86 loc) · 5.01 KB

README.md

File metadata and controls

111 lines (86 loc) · 5.01 KB

pub version

bitcoindart

A dart Bitcoin library for Flutter.

Released under the terms of the MIT LICENSE.

Inspired by bitcoinjs

Base on bitcoin_flutter

Otherwise, pull requests are appreciated.

Installing

Flutter Packages

Examples

import 'package:bitcoindart/bitcoindart.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:

TODO

  • Generate a SegWit multisig address
  • Create a Transaction with a P2SH(multisig) input
  • Build a Transaction w/ psbt format
  • Add Tapscript / Taproot feature

Running the test suite

pub run test

Complementing Libraries

  • BIP39 - Mnemonic generation for deterministic keys
  • BIP32 - BIP32
  • Base58 Check - Base58 check encoding/decoding

LICENSE MIT

Script

// Analyze pub dependencies
pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides

// Analyze code
flutter analyze
dart analyze

// Auto fix code(Use it cautiously)
pub global activate dartfix
dartfix --pedantic -w .

// Format code
dartfmt -w --fix --follow-links .

// Publish validation
pub publish --dry-run --verbose

// Publish
flutter packages pub publish --verbose --server https://pub.dartlang.org