Flutter钱包核心功能插件trust_wallet_core_new的使用
Flutter钱包核心功能插件trust_wallet_core_new的使用
trust_wallet_core
trust_wallet_core
是一个用于 Flutter 的插件,它映射了所有在 https://github.com/trustwallet/wallet-core/tree/master/include/TrustWalletCore 中列出的 API。
IMPORTANT
由于官方库在 CMakeLists.txt
中设置了 set(CMAKE_CXX_VISIBILITY_PRESET hidden)
,这会导致 Android 上运行时 Dart FFI 查找函数时出现异常。
如果你希望运行 Android 示例,请按照以下步骤操作:
我的另一个仓库 来运行完整的演示。
Android
在你的 Android 项目中,你需要在 MainActivity.kt
文件中添加以下代码:
class MainActivity: FlutterActivity() {
init {
System.loadLibrary("TrustWalletCore")
}
}
同时,确保你的 minSdk
设置为 >= 23。
iOS
对于 iOS 平台,支持的最低版本为 iOS 13.0。
Dart 部分
在使用 wallet_core
之前,需要调用以下初始化函数一次:
FlutterTrustWalletCore.init();
然后你就可以开始运行了。
完整示例代码
以下是完整的示例代码,展示如何使用 trust_wallet_core
插件。
示例代码:example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:trust_wallet_core/flutter_trust_wallet_core.dart'; // 引入 trust_wallet_core 插件
import 'package:trust_wallet_core_example/bitcoin_address_example.dart'; // 示例模块
import 'package:trust_wallet_core_example/bitcoin_transaction_example.dart';
import 'package:trust_wallet_core_example/ethereum_example.dart';
import 'package:trust_wallet_core_example/private_key_is_valid_example.dart';
import 'package:trust_wallet_core_example/tron_example.dart';
List<String> logs = []; // 日志列表
void main() {
runApp(MyApp()); // 启动应用
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Example(), // 主页面
);
}
}
class Example extends StatefulWidget {
[@override](/user/override)
_ExampleState createState() => _ExampleState(); // 创建状态
}
class _ExampleState extends State<Example> {
late HDWallet wallet; // 钱包实例
[@override](/user/override)
void initState() {
FlutterTrustWalletCore.init(); // 初始化插件
super.initState();
String mnemonic =
"rent craft script crucial item someone dream federal notice page shrug pipe young hover duty"; // 测试助记词
wallet = HDWallet.createWithMnemonic(mnemonic); // 创建钱包
}
// 生成示例按钮
Widget _exampleItem({
required String name,
required WidgetBuilder builder,
}) {
return ElevatedButton(
onPressed: () {
Navigator.of(context).push(MaterialPageRoute(builder: builder)); // 跳转到示例页面
},
child: Text(name),
);
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('wallet core example app'), // 应用标题
),
body: SafeArea(
child: Column(
children: [
Text(wallet.mnemonic()), // 显示助记词
Expanded(
child: ListView(
padding: EdgeInsets.zero,
children: [
_exampleItem(
name: 'Ethereum', // 以太坊示例
builder: (_) {
return EthereumExample(wallet);
},
),
_exampleItem(
name: 'Bitcoin Address', // 比特币地址示例
builder: (_) {
return BitcoinAddressExample(wallet);
},
),
_exampleItem(
name: 'Bitcoin Transaction', // 比特币交易示例
builder: (_) {
return BitcoinTransactionExample(wallet);
},
),
_exampleItem(
name: 'Tron', // 波场示例
builder: (_) {
return TronExample(wallet);
},
),
_exampleItem(
name: 'PrivateKey.isValid(a,b)', // 私钥验证示例
builder: (_) {
return PrivateKeyIsValidExample(wallet);
},
),
],
),
),
ElevatedButton(
onPressed: () async {
wallet.delete(); // 删除钱包
wallet = HDWallet(); // 重新生成钱包
setState(() {}); // 更新 UI
},
child: Text("gen"), // 按钮文本
),
],
),
),
);
}
}
更多关于Flutter钱包核心功能插件trust_wallet_core_new的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter钱包核心功能插件trust_wallet_core_new的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
trust_wallet_core_new
是一个用于 Flutter 的钱包核心功能插件,它基于 Trust Wallet 的核心库(Trust Wallet Core)。这个插件提供了创建、管理和操作加密货币钱包的核心功能,包括生成助记词、创建钱包、导入钱包、签名交易等。
主要功能
- 生成助记词:生成 BIP39 标准的助记词。
- 创建钱包:通过助记词创建钱包。
- 导入钱包:通过助记词或私钥导入钱包。
- 获取地址:获取指定币种的地址。
- 签名交易:对交易进行签名。
- 管理多种币种:支持多种加密货币,如 Bitcoin、Ethereum 等。
安装
在 pubspec.yaml
文件中添加依赖:
dependencies:
trust_wallet_core_new: ^0.1.0
然后运行 flutter pub get
安装依赖。
使用示例
1. 生成助记词
import 'package:trust_wallet_core_new/trust_wallet_core_new.dart';
void main() {
// 生成助记词
String mnemonic = TrustWalletCore.generateMnemonic();
print('Generated Mnemonic: $mnemonic');
}
2. 创建钱包
import 'package:trust_wallet_core_new/trust_wallet_core_new.dart';
void main() {
// 生成助记词
String mnemonic = TrustWalletCore.generateMnemonic();
// 通过助记词创建钱包
Wallet wallet = TrustWalletCore.createWallet(mnemonic);
// 获取钱包地址
String address = wallet.getAddressForCoin(CoinType.ethereum);
print('Ethereum Address: $address');
}
3. 导入钱包
import 'package:trust_wallet_core_new/trust_wallet_core_new.dart';
void main() {
// 已有的助记词
String mnemonic = "your mnemonic here";
// 通过助记词导入钱包
Wallet wallet = TrustWalletCore.importWallet(mnemonic);
// 获取钱包地址
String address = wallet.getAddressForCoin(CoinType.bitcoin);
print('Bitcoin Address: $address');
}
4. 签名交易
import 'package:trust_wallet_core_new/trust_wallet_core_new.dart';
void main() {
// 生成助记词
String mnemonic = TrustWalletCore.generateMnemonic();
// 通过助记词创建钱包
Wallet wallet = TrustWalletCore.createWallet(mnemonic);
// 创建交易
String transactionData = "your transaction data here";
// 签名交易
String signedTransaction = wallet.signTransaction(CoinType.ethereum, transactionData);
print('Signed Transaction: $signedTransaction');
}