Vai al contenuto

Bull SDK

Binding unificati di flutter_rust_bridge per operazioni di wallet Bitcoin e Liquid.

Bull SDK unisce cinque biblioteche Rust indipendenti — Ark, BBQr, Boltz, LWK e Bitbox — in una singola libreria nativa con binding Dart unificati.


Perché Bull SDK?

Ogni pacchetto indipendente compila la propria libreria nativa (.so/.dylib). Quando un progetto dipende da tutti, si ottiene:

  • Build lente — 5 compilazioni native separate, specialmente dolorose su Android (3 architetture ciascuna)
  • Binari gonfiati — Dipendenze Rust condivise (bitcoin, secp256k1, tokio, openssl) duplicate in ogni libreria

Bull SDK risolve questo scansionando le API Rust di tutti i sub-crate attraverso una singola passata di codegen flutter_rust_bridge, producendo una libreria nativa con un singolo dispatcher FFI.


Moduli

Modulo Funzione Classi principali
Boltz Swap atomici Lightning ↔ onchain BtcLnSwap, LBtcLnSwap, ChainSwap
LWK Liquid Wallet Kit — operazioni rete Liquid Wallet, Descriptor, Tx
Ark Protocollo Ark — pagamenti offchain ArkWallet, ArkTransaction
BBQr Codifica/decodifica QR animati Encoding, Split, Join
Bitbox Integrazione wallet hardware BitboxApi

Quick Start

import 'package:bull_sdk/bull_sdk.dart';
import 'package:bull_sdk/boltz.dart' as boltz;
import 'package:bull_sdk/lwk.dart' as lwk;

await BullSdk.init();

Piattaforme Supportate

Piattaforma Stato
Android ✅ Supportato
iOS ✅ Supportato
Linux ✅ Supportato
macOS ✅ Supportato
Windows ✅ Supportato
Web ⚠️ Solo Dart (API Rust non disponibili)