This is a library for using Monero in Dart. It uses monero-rust, whose cargo
build is integrated into the Dart build process by a
fork
cargokit.
- Dart SDK: ^3.10.0-162.1.beta
- Flutter: >=3.3.0 (tested with 3.37.0-0.1.pre beta)
- Rust: 1.75+ (tested with 1.90.0)
This library requires monero-rust located at ../monero-rust relative to this project.
Important: monero-rust uses monero-oxide as a git submodule. After cloning
monero-rust, you must initialize its submodules:
cd ../monero-rust
git submodule update --init --recursiveDirectory structure:
parent-dir/
├── monero-dart/ (this project)
└── monero-rust/ (required, with submodules initialized)
└── vendored/
└── monero-oxide/ (git submodule)
git clone [email protected]:ManyMath/monero-dart
git clone [email protected]:ManyMath/monero-rust
cd monero-rust
git submodule update --init --recursive
cd ../monero-dart/example
flutter pub get
flutter run -d <device>- To generate
monero-rust_bindings_generated.dartDart bindings for C:dart run ffigen --config ffigen.yaml - If bindings are generated for a new (not previously supported/included in
lib/monero_base.dart) function, a wrapper must be written for it by hand (see:generateMnemonic,generateAddress). - Cargokit can be updated as in
git subtree pull --prefix cargokit https://github.com/ManyMath/cargokit.git main --squash. - To use irondash/cargokit,
git rm -r cargokitandgit subtree add --prefix cargokit https://github.com/irondash/cargokit.git main --squash.