Skip to content

A dart cryptocurrency library for Flutter with Verge support

License

Notifications You must be signed in to change notification settings

vergecurrency/coinslib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CoinsLib

A .dart cryptocurrency library for Flutter with Verge support, originally built for Peercoin.

Dart

This library is a fork of the seemingly discontinued bitcoin_flutter merged with bech32.

Released under the terms of the MIT LICENSE.

Inspired by bitcoinjs

Otherwise, pull requests are appreciated.

Installing

Flutter Packages

Supported Coins

  • Verge
  • Peercoin
  • Bitcoin

Examples

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

main() {
  var peercoin = NetworkType(
    messagePrefix: 'Peercoin Signed Message:\n',
    bech32: 'pc',
    bip32: Bip32Type(public: 0x043587cf, private: 0x04358394),
    pubKeyHash: 0x37,
    scriptHash: 0x75,
    wif: 0xb7,
    opreturnSize: 256,
  );

  var seed = bip39.mnemonicToSeed(
      'praise you muffin lion enable neck grocery crumble super myself license ghost');
  var hdWallet = HDWallet.fromSeed(
    seed,
    network: peercoin,
  ); //default network is Bitcoin
  print(hdWallet.address);
  // => PAEeTmyME9rb2j3Ka9M65UG7To5wzZ36nf
  print(hdWallet.pubKey);
  // => 0360729fb3c4733e43bf91e5208b0d240f8d8de239cff3f2ebd616b94faa0007f4
  print(hdWallet.privKey);
  // => 01304181d699cd89db7de6337d597adf5f78dc1f0784c400e41a3bd829a5a226
  print(hdWallet.wif);
  // => U59hdLpi45SME3yjGoXXuYy8FVvW2yUoLdE3TJ3gfRYJZ33iWbfD

  var wallet = Wallet.fromWIF(
      'U59hdLpi45SME3yjGoXXuYy8FVvW2yUoLdE3TJ3gfRYJZ33iWbfD', peercoin);
  print(wallet.address);
  // => PAEeTmyME9rb2j3Ka9M65UG7To5wzZ36nf
  print(wallet.pubKey);
  // => 03aea0dfd576151cb399347aa6732f8fdf027b9ea3ea2e65fb754803f776e0a509
  print(wallet.privKey);
  // => 01304181d699cd89db7de6337d597adf5f78dc1f0784c400e41a3bd829a5a226
  print(wallet.wif);
  // => U59hdLpi45SME3yjGoXXuYy8FVvW2yUoLdE3TJ3gfRYJZ33iWbfD
}

The below examples are implemented as integration tests:

TODO

  • 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

About

A dart cryptocurrency library for Flutter with Verge support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 100.0%