Bull SDK¶
Bindings unificados de flutter_rust_bridge para operações de carteiras Bitcoin e Liquid.
Bull SDK une cinco bibliotecas Rust independentes — Ark, BBQr, Boltz, LWK e Bitbox — em uma única biblioteca nativa com bindings Dart unificados.
Por que Bull SDK?¶
Cada pacote independente compila sua própria biblioteca nativa (.so/.dylib). Quando um projeto depende de todos, você obtém:
- Builds lentos — 5 compilações nativas separadas, especialmente dolorosas no Android (3 arquiteturas cada uma)
- Binários inchados — Dependências Rust compartilhadas (bitcoin, secp25k1, tokio, openssl) duplicadas em cada biblioteca
Bull SDK resolve isso escaneando as APIs Rust de todos os sub-crates através de uma única passada de codegen flutter_rust_bridge, produzindo uma biblioteca nativa com um único despachante FFI.
Módulos¶
| Módulo | Função | Classes principais |
|---|---|---|
| Boltz | Swaps atômicos Lightning ↔ onchain | BtcLnSwap, LBtcLnSwap, ChainSwap |
| LWK | Liquid Wallet Kit — operações rede Liquid | Wallet, Descriptor, Tx |
| Ark | Protocolo Ark — pagamentos offchain | ArkWallet, ArkTransaction |
| BBQr | Codificação/decodificação de QR animado | Encoding, Split, Join |
| Bitbox | Integração com carteira de hardware | BitboxApi |
Início Rápido¶
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();
Plataformas Suportadas¶
| Plataforma | Status |
|---|---|
| Android | ✅ Suportado |
| iOS | ✅ Suportado |
| Linux | ✅ Suportado |
| macOS | ✅ Suportado |
| Windows | ✅ Suportado |
| Web | ⚠️ Apenas Dart (APIs Rust indisponíveis) |