Aus öffentlichen Paketdaten erstellte Orientierung.
DartSV ist eine Dart-Bibliothek, die für die Interaktion mit dem Bitcoin-Netzwerk entwickelt wurde und Entwicklern Werkzeuge zum Erstellen von Bitcoin-fähigen Anwendungen bietet. Sie ist für den Einsatz in Flutter-Projekten optimiert und ermöglicht eine nahtlose Integration auf Android, iOS, macOS, Windows und Linux. Die Bibliothek unterstützt grundlegende Bitcoin-Operationen wie Adressengenerierung, Transaktionserstellung und kryptografische Funktionen und ist daher ideal für Blockchain-Anwendungen. Durch ihr leichtgewichtiges Design und den Fokus auf plattformübergreifende Kompatibilität vereinfacht DartSV die Bitcoin-Integration ohne native Code-Abhängigkeiten. Ihre Open-Source-Natur fördert Community-Beiträge und Transparenz.
Anwendungsfälle
Bitcoin-Wallets erstellen
Blockchain-Explorer erstellen
Integration von Bitcoin-Zahlungen
Entwicklung dezentraler Anwendungen
Bitcoin-Transaktionen verarbeiten
Hauptmerkmale
Bitcoin-Adressengenerierung
Transaktionssignierung und Serialisierung
Kryptografische Werkzeuge
Plattformübergreifende Unterstützung
Open Source und aktiv gepflegt
Geeignet für
Flutter-Entwickler
Web3-Anwendungsentwickler
Auf Kryptowährungen fokussierte Mobile-Apps
Blockchain-Anfänger
Bitcoin-Protokoll-Enthusiasten
Hinweise
Erfordert Verständnis der Grundlagen von Bitcoin
Beschränkt auf Bitcoin-spezifische Funktionen
Erfordert externe Bitcoin-Knoten für die volle Funktionalität
Nicht geeignet für Hochfrequenzhandel
Am besten mit sicheren Schlüsselverwaltungspraktiken verwenden
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
Introduction
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)
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 broadcasttry {
transaction.verify(); //perform a pre-broadcast sanity check on the transaction
} onVerificationExceptioncatch (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. )