From dc103c890cc1752f246fef3f8e472bc852ddd487 Mon Sep 17 00:00:00 2001 From: sneurlax Date: Sat, 12 Oct 2024 01:55:27 -0500 Subject: refactor library loading and update docs --- impls/monero.rs/example/README.md | 30 ++++++++++++++++++++++++++++++ impls/monero.rs/example/src/main.rs | 19 ++++++++++--------- 2 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 impls/monero.rs/example/README.md (limited to 'impls/monero.rs/example') diff --git a/impls/monero.rs/example/README.md b/impls/monero.rs/example/README.md new file mode 100644 index 0000000..3b6ba4c --- /dev/null +++ b/impls/monero.rs/example/README.md @@ -0,0 +1,30 @@ +# `monero_c/impls/monero.rs/example` +Refer to the latest documentation at +https://github.com/MrCyjaneK/monero_c/blob/master/README.md and +https://github.com/MrCyjaneK/monero_c/blob/master/impls/monero.rs/README.md for +the latest documentation. + +## `monero_c` library +A `monero_c` library is required to use these bindings. Build or download the +`monero_c` library for your architecture. Follow the upstream docs at +https://github.com/MrCyjaneK/monero_c or download the latest release from +https://github.com/MrCyjaneK/monero_c/releases. The library can be placed in +one of several supported locations relative to the binary in use: +- `.` + that is, if your binary is in `target/debug` or `target/release`, the library + should also be adjacent to the binary in `release` or `debug`, respectively. + If you're distributing your binary, place the library in the same directory. +- `../../lib` + so if your binary gets built to `target/profile`, then your library can be + in `lib`. +- `../../../../release` + which is a holdover from the original `monero_c` bindings and may not be + practical for your project unless it's also structured as a child of the + `monero_c` repository. + +and should match your platform as in: +- Android: `libmonero_libwallet2_api_c.so` +- iOS: `MoneroWallet.framework/MoneroWallet` +- Linux: `monero_libwallet2_api_c.so` +- macOS: `monero_libwallet2_api_c.dylib` +- Windows: `monero_libwallet2_api_c.dll` diff --git a/impls/monero.rs/example/src/main.rs b/impls/monero.rs/example/src/main.rs index aae688b..099c6d4 100644 --- a/impls/monero.rs/example/src/main.rs +++ b/impls/monero.rs/example/src/main.rs @@ -1,25 +1,26 @@ -use monero_rust::{WalletError, WalletManager, NETWORK_TYPE_MAINNET}; +use monero_rust::{network, WalletError, WalletManager}; fn main() -> Result<(), WalletError> { let wallet_manager = WalletManager::new(None)?; let wallet = wallet_manager.create_wallet( - "wallet", + "wallet_name", "password", "English", - NETWORK_TYPE_MAINNET, + network::MAINNET, )?; + println!("Wallet created successfully."); + match wallet.get_seed("") { Ok(seed) => println!("Seed: {}", seed), - Err(e) => { - eprintln!("Failed to get seed: {:?}", e); - return Err(e); - } + Err(e) => eprintln!("Failed to get seed: {:?}", e), } - let address = wallet.get_address(0, 0)?; - println!("Wallet Address: {}", address); + match wallet.get_address(0, 0) { + Ok(address) => println!("Primary address: {}", address), + Err(e) => eprintln!("Failed to get address: {:?}", e), + } Ok(()) } -- cgit v1.2.3