Installing the library

Rust

Add the smartvaults-sdk dependency in your Cargo.toml file:

[dependencies]
smartvaults-sdk = { git = "https://github.com/smartvaults/smartvaults", tag = "vX.X.X" }

Note: you can specify a commit using rev instead of tag.

Examples

Use a specific version:

[dependencies]
smartvaults-sdk = { git = "https://github.com/smartvaults/smartvaults", tag = "v0.3.0" }

Use a specific commit:

[dependencies]
smartvaults-sdk = { git = "https://github.com/smartvaults/smartvaults", rev = "383c186cb1df3ab5906978d6b313aed86d2698b1" }
Kotlin

To use the Kotlin language bindings for smartvaults-sdk in your Android project add the following to your gradle dependencies:

repositories {
    mavenCentral()
}

dependencies { 
    implementation("io.smartvaults:smartvaults-sdk:<version>")
}

Import the library in your code:

import io.smartvaults.sdk.*

To import nostr or nostr-sdk:

import rust.nostr.protocol.*
import rust.nostr.sdk.*

Known issues

JNA dependency

Depending on the JVM version you use, you might not have the JNA dependency on your classpath. The exception thrown will be

class file for com.sun.jna.Pointer not found

The solution is to add JNA as a dependency like so:

dependencies {
    // ...
    implementation("net.java.dev.jna:jna:5.12.1")
}