Flutter加密货币信息获取插件multicoinlib的使用
Flutter加密货币信息获取插件multicoinlib的使用
multicoinlib
multicoinlib
是一个用于多种加密货币及其类似币种(包括Taproot支持)的简单且模块化的库。此库允许构建和签名交易,并管理BIP32钱包。
安装和使用
如果你正在使用Flutter,请参阅 multicoinlib_flutter
而不是本库。否则,你可以在项目中添加 multicoinlib
:
dart pub add multicoinlib
如果你在Web上使用该库,则库已经准备好使用。如果你在Linux、macOS或Windows上使用该库,请参见以下部分:“为Linux构建”、“为macOS构建”或“为Windows构建”。
库可以通过以下方式导入:
import 'package:multicoinlib/multicoinlib.dart';
在使用库之前,必须异步加载 loadmulticoinlib()
函数:
await loadmulticoinlib();
库使用面向对象编程的函数式风格。大多数情况下,对象是不可变的。方法返回新的修改后的对象。例如,对交易进行签名会返回一个新的签名交易对象:
final signedTx = unsignedTx.sign(inputN: 0, key: privateKey);
示例可在 example/
目录下找到。
为Linux构建
要在Linux上构建库,需要Docker或Podman。
Linux共享库可以使用以下命令在包的根目录下构建:
dart run multicoinlib:build_linux
这将在 build/libsecp256k1.so
中生成共享库。也可以在 multicoinlib
的根目录下运行:
dart run bin/build_linux.dart
此库可以位于当前工作目录下的 build
目录中,作为系统库安装,或在 $LD_LIBRARY_PATH
中。
为macOS构建
在macOS上构建需要使用homebrew安装autotools:
brew install autoconf automake libtool
macOS动态库必须在运行dart代码时提供为 $PWD/build/libsecp256k1.dylib
或作为名为 secp256k1.framework
的系统框架。
要构建动态库,请运行以下命令:
dart run multicoinlib:build_macos
这将把库放置在 build
目录下。
为Windows构建
原生Windows构建
请注意,此部分中的原生Windows构建有时会在构建过程中冻结。如果发生这种情况,请使用以下部分描述的WSL构建过程:“使用WSL跨平台编译Windows”。
在Windows上构建需要CMake作为依赖项。
Windows共享库可以使用以下命令在包的根目录下构建:
dart run multicoinlib:build_windows
这将在 build/libsecp256k1.dll
中生成共享库。也可以在 multicoinlib
的根目录下运行:
dart run bin/build_windows.dart
Windows构建使用Visual Studio 17 2022生成器。较早版本的Visual Studio工具链可能通过编辑 bin/build_windows.dart
进行工作。
使用WSL从Linux交叉编译Windows
在Ubuntu 20.04主机上为Windows交叉编译secp256k1 DLL:
dart run multicoinlib:build_windows_crosscompile
这也可以在 multicoinlib
的根目录下运行:
dart run bin/build_windows_crosscompile.dart
或者,在安装了Docker或Podman的WSL中完成上述“在Linux上交叉编译Windows”步骤。如果没有安装Flutter到WSL中,也可以遵循以下指南完成构建: bitcoin-core/secp256k1的“跨编译”指南。
开发
此部分仅与库的开发者相关。
绑定和WebAssembly
WebAssembly (WASM) 模块已预编译并准备使用。FFI绑定已预生成。这些只需要在基础的secp256k1库更改时更新。
本地库(不包括WebAssembly)的绑定是从 headers/secp256k1.h
文件使用 dart run ffigen
在 multicoinlib
包内生成的。
WebAssembly模块已在 lib/src/secp256k1/secp256k1.wasm.g.dart
中预构建。可以使用以下命令重新构建:
dart run bin/build_wasm.dart
更多关于Flutter加密货币信息获取插件multicoinlib的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter加密货币信息获取插件multicoinlib的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
multicoinlib
是一个用于在 Flutter 应用中获取加密货币信息的插件。它支持多种加密货币,并提供了丰富的功能,如获取价格、市值、交易对等信息。以下是使用 multicoinlib
插件的详细步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 multicoinlib
插件的依赖。
dependencies:
flutter:
sdk: flutter
multicoinlib: ^1.0.0 # 请使用最新的版本号
然后运行 flutter pub get
来获取依赖。
2. 导入插件
在你的 Dart 文件中导入 multicoinlib
插件。
import 'package:multicoinlib/multicoinlib.dart';
3. 初始化插件
在使用插件之前,你需要初始化它。通常你可以在 main.dart
文件中进行初始化。
void main() {
WidgetsFlutterBinding.ensureInitialized();
Multicoinlib.initialize(apiKey: 'YOUR_API_KEY'); // 替换为你的API密钥
runApp(MyApp());
}
4. 获取加密货币信息
你可以使用 Multicoinlib
类中的方法来获取加密货币的相关信息。以下是一些常见的用法示例:
获取当前价格
double price = await Multicoinlib.getPrice('bitcoin');
print('Bitcoin price: $price');
获取市值
double marketCap = await Multicoinlib.getMarketCap('ethereum');
print('Ethereum market cap: $marketCap');
获取交易对信息
Map<String, dynamic> tradingPair = await Multicoinlib.getTradingPair('bitcoin', 'usd');
print('Bitcoin/USD trading pair: $tradingPair');
获取多种加密货币的价格
Map<String, double> prices = await Multicoinlib.getPrices(['bitcoin', 'ethereum', 'litecoin']);
print('Prices: $prices');
5. 处理错误
在实际应用中,网络请求可能会失败,因此你需要处理可能的错误。
try {
double price = await Multicoinlib.getPrice('bitcoin');
print('Bitcoin price: $price');
} catch (e) {
print('Failed to get price: $e');
}
6. 更新数据
你可以定期刷新数据以获取最新的加密货币信息。
Timer.periodic(Duration(minutes: 5), (timer) async {
double price = await Multicoinlib.getPrice('bitcoin');
print('Updated Bitcoin price: $price');
});
7. 使用自定义API
如果你有自定义的API端点,你可以通过 Multicoinlib.setCustomEndpoint
方法来设置。
Multicoinlib.setCustomEndpoint('https://api.yourcustomendpoint.com');