Example 2
Rust adjustments for Example "Generate Mnemonic".
What adjustments do I need to make in Rust?
In summary, here are the steps you need to take to create the API function.
Cargo.toml
There is no need to add any crates. It's the same as in Example 1.
api.rs - Used Paths
There is no need to add any path. It's the same as in Example 1.
api.rs - Function get_node_info()
#[allow(dead_code)]
pub fn generate_mnemonic() -> String {
let mnemonic = Client::generate_mnemonic();
mnemonic.unwrap()
}
Checks using cargo build
All checks should work without any issue. Please also refer to the corresponding video (2023-09-03: ToDo).
New: Checks using cargo build
In the next subchapters, we will test individually for each example whether our library can be cross-compiled to the target platforms Android, macOS, and iOS.
This way, we can independently test the correctness of the dependencies in Cargo.toml
, and the paths and the syntax of our Rust Code in api.rs
, regardless of the Flutter build process.
π Β How to manually cross-compile to a target of your choice
To examine the various targets, you should navigate from playground_app root directory to the rust directory:
cd rust
Then, within the rust directory, excute the following commands.
Android
If you haven't already, install the cargo-ndk
command using:
cargo install cargo-ndk
I only check the ABI arm64-v8a.
cargo ndk -t arm64-v8a build
macOS
cargo build --target aarch64-apple-darwin
iOS Simulator or iOS Device
cargo build --target aarch64-apple-ios-sim
cargo build --target aarch64-apple-ios