Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev3.1.3

dartsv

Biblioteca Dart para interagir com a rede Bitcoin. Esta biblioteca é especialmente adequada para uso no desenvolvimento de aplicativos Flutter.

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
1,2 mil
Curtidas
11
Pontos Pub
120

Instalar pacote

flutter pub add dartsv

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

DartSV é uma biblioteca Dart projetada para interagir com a rede Bitcoin, oferecendo ferramentas para desenvolvedores criarem aplicativos habilitados para Bitcoin. É otimizada para uso em projetos Flutter, permitindo integração sem problemas em plataformas Android, iOS, macOS, Windows e Linux. A biblioteca suporta operações básicas do Bitcoin, como geração de endereços, criação de transações e funções criptográficas, tornando-a ideal para aplicações baseadas em blockchain. Com seu design leve e foco na compatibilidade entre plataformas, o DartSV simplifica a integração com o Bitcoin sem exigir código nativo. Sua natureza de código aberto incentiva contribuições da comunidade e transparência.

Casos de uso

  • Construindo carteiras de Bitcoin
  • Criando exploradores de blockchain
  • Integração de pagamentos em Bitcoin
  • Desenvolvendo aplicativos descentralizados
  • Gerenciando transações de Bitcoin

Principais recursos

  • Geração de endereço Bitcoin
  • Assinatura e serialização de transações
  • Utilitários criptográficos
  • Suporte multiplataforma
  • Open-source e ativamente mantido

Indicado para

  • Desenvolvedores Flutter
  • criadores de aplicativos Web3
  • Aplicativos móveis focados em cripto
  • iniciantes em blockchain
  • entusiastas do protocolo Bitcoin

Considerações

  • Requer entendimento dos fundamentos do Bitcoin
  • Limitado a funcionalidades específicas do Bitcoin
  • Depende de nós externos de Bitcoin para funcionalidade completa
  • Não adequado para negociação de alta frequência
  • Melhor usado com práticas seguras de gerenciamento de chaves

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Introduction

Dart CI

Overview

TwoStack WalletSDK is a Bitcoin library for the Dart Language ( dartlang.org ), loosely based on the Moneybutton/BSV Javascript library. This library has been built in line with the ideals espoused by BitcoinSV, i.e. massive on-chain scaling, protocol stability and original-bitcoin-protocol implementation. It is intended for use in building multi-platform applications using the Flutter framework, or server-side bitcoin applications using frameworks like Serverpod

A note about Version 2.x (August 2023)

Version 2.x of the library is a major refactor and breaks backwards compatibility with several previous library APIs.

  • A new TransactionBuilder class for composing Transactions
  • Removal of the old Builder interface which was directly attached to the Transaction class
  • A complete re-implementation of the Script Interpreter
  • The Sighash class now exposes the SigHash Pre-Image; useful when creating OP_PUSH_TX spending scripts.
  • A new ScriptBuilder class to make it easy to create custom locking/unlocking scripts.
  • Merged contributed code to have better Flutter Web support.

Generally Supported features are :

  • Custom-Script Builder Interface to support novel locking/spending conditions within Script
  • Pre-built library code to support "standard" locking/unlocking scripts
    • P2PKH Transactions
    • P2SH Transactions
    • P2MS Transactions (naked multisig)
    • P2PK Transactions
    • Data-only Transactions (locked with OP_FALSE OP_RETURN)
    • Spendable data-carrier Transactions (locked with PUSH_DATA [your_data] OP_DROP [P2PKH locking code])
  • HD Key Derivation (BIP32)
  • Original Bitcoin Address format
  • Bitcoin Signed Messages
  • Mnemonic Seed Support (BIP39)
  • A built-in Bitcoin Script Interpreter
  • ECIES Encryption / Decryption (Supports Electrum ECIES / BIE1 )
Sample of the Transaction API:
    var utxo = txWithUTXO.outputs[0]; 
    var outpoint = TransactionOutpoint(txWithUTXO.id, 0, utxo.satoshis, utxo.script);
    var signer = TransactionSigner(SighashType.SIGHASH_FORKID.value | SighashType.SIGHASH_ALL.value, privateKey);

    var unlocker = P2PKHUnlockBuilder(privateKey.publicKey);
    
    var transaction = TransactionBuilder()
        .spendFromOutpointWithSigner(signer, outpoint, TransactionInput.MAX_SEQ_NUMBER, unlocker)
        .spendToPKH(recipientAddress, BigInt.from(50000000)) //spend half of a bitcoin 
        .sendChangeToPKH(changeAddress) // spend change to a different address
        .withFeePerKb(50) //set a fee of 50 satoshis per kilobyte
        .build(false); //build the transaction, disabling checks

    //at this point you have a fully signed transaction ready to be broadcast

    try {
      transaction.verify(); //perform a pre-broadcast sanity check on the transaction
    } on VerificationException catch (ex){
      print("Transaction failed verification - ${ex.cause}");  
    }

Installation

This library was built using version 3.0.7 of the Dart SDK( https://dart.dev/tools/sdk ).
As of Version 1.0.0 this library supports Dart Null Safety. Current minimum Dart SDK version required is version 2.17.0.

Navigate to the root folder of this project, and pull the required supported Dart libraries using the pub package manager.

> pub get
Running the Tests

In the root folder of this project, run the command:

> pub run test

Acknowledgement

A debt of gratitude is owed to the developers acknowledged in the LICENSE file. Without the hard work of individuals working on earlier library and node implementations like Bitcoin Core, Bitcoin Cash, MoneyButton/BSV, BitcoinJ and many more, this library would likely not have come to fruition. Thank you.

Contact

You can reach the author at :

  • @twostack_org on Twitter
  • beardpappa@handcash.io (PayMail to buy me a beer)
  • stephan@twostack.org (drop me an email. GPG supported. )

Categorias

Dependências

Lista de dependências 8 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.