wallet_core_bindings 4.1.22 copy "wallet_core_bindings: ^4.1.22" to clipboard
wallet_core_bindings: ^4.1.22 copied to clipboard

Dart bindings for trust wallet core, used in Flutter and Dart.

wallet_core_bindings #

License

Dart bindings for Trust Wallet Core, used in Flutter and Dart.

Packages #

Package Pub
wallet_core_bindings Pub
wallet_core_bindings_native Pub
wallet_core_bindings_wasm Pub
wallet_core_bindings_libs Pub
wallet_core_bindings_wasm_assets Pub

Features #

  • TrustWalletCore include files and Protobuf file bindings.
  • Provides Native and WebAssembly System Interface, supporting all platforms.
  • APIs are repackaged for easier use.
  • Combined with Dart GC, there is no need to control memory.
  • Update the TrustWalletCore version synchronously and keep the APIs consistent.

Getting Started #

There are two ways to use wallet_core_bindings, Native and Web Assembly. Please follow the instructions below to make your choice.

Platform Native Web Assembly wallet_core_bindings_libs
Android ✔️ ✔️ ✔️
iOS ✔️ ✔️ ✔️
macOS ✔️ ✔️ ✔️
Linux ✔️ ✔️ ❌️
Windows ❌️ ✔️ ❌️
Web ❌️ ✔️ ❌️

Native #

The native features of the platform rely on the dynamic library compiled by Wallet Core, Binding with dart:ffi.

  • wallet_core_bindings_libs contains native dynamic libraries. Currently, only Android and iOS are supported. Due to the diversity of CPU architectures, Linux and macOS can be compiled and added to the project by themselves. It is possible that subsequent versions will find suitable ways to support them. Windows is not supported at present.
  • For more information, see wallet_core_bindings_libs.
dependencies:
  wallet_core_bindings: version
  wallet_core_bindings_native: version
  wallet_core_bindings_libs: version
import 'package:wallet_core_bindings/wallet_core_bindings.dart';
import 'package:wallet_core_bindings_native/wallet_core_bindings_native.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await WalletCoreBindingsNativeImpl().initialize();
  runApp(const MyApp());
}

Web Assembly #

Build WalletCore for WASM,Binding with WASI wasi_snapshot_preview1 and wasm_run.

  • It is suitable for use on platforms that do not support native, such as Web and Windows. However, wasm itself has strong cross-platform features and is not limited to these two platforms.
dependencies:
  wasm_run_flutter: version
  wallet_core_bindings: version
  wallet_core_bindings_wasm: version
  wallet_core_bindings_wasm_assets: version
import 'package:wallet_core_bindings/wallet_core_bindings.dart';
import 'package:wallet_core_bindings_wasm/wallet_core_bindings_wasm.dart';
import 'package:wasm_run_flutter/wasm_run_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await WasmRunLibrary.setUp(override: false);
  await WalletCoreBindingsWasmImpl().initialize();
  runApp(const MyApp());
}

Usage #

wallet_core_bindings provides the complete test cases, you can find usage here. See tests.

Generate #

Protobuf #

Refer to the TrustWalletCore build documentation and complete the steps to generate files. Extract proto files in src/proto and use protoc_plugin to compile them into Dart code.

cd ../proto/TrustWalletCore/
protoc --dart_out=../../wallet_core_bindings/lib/proto/ ./*

License #

Commercial license #

If you want to use wallet_core_bindings in your commercial app, website or plugin, you need to obtain a commercial license from the author. Please contact xuelongqy@qq.com for more information.Once you obtain the license, your authorization information will appear in the AUTHORIZED.md.

Open-source license #

GNU AGPLv3

1
likes
0
points
344
downloads

Publisher

unverified uploader

Weekly Downloads

Dart bindings for trust wallet core, used in Flutter and Dart.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

fixnum, protobuf

More

Packages that depend on wallet_core_bindings