summaryrefslogtreecommitdiff
path: root/impls/monero.rs/example
diff options
context:
space:
mode:
authorsneurlax <sneurlax@gmail.com>2024-10-12 01:55:27 -0500
committersneurlax <sneurlax@gmail.com>2024-10-12 01:55:27 -0500
commitdc103c890cc1752f246fef3f8e472bc852ddd487 (patch)
tree703e210358fe6759a626f008271a0069a6537358 /impls/monero.rs/example
parent44c1676a0982a60626b7f0b03702ac287df2304e (diff)
refactor library loading
and update docs
Diffstat (limited to 'impls/monero.rs/example')
-rw-r--r--impls/monero.rs/example/README.md30
-rw-r--r--impls/monero.rs/example/src/main.rs19
2 files changed, 40 insertions, 9 deletions
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(())
}