lnbits_rust

crates.io Documentation MIT/Apache-2 licensed CI Issues

An ergonomic, LNBits API Client for Rust.

Example

toml [dependencies] tokio = { version = "1.0", features = ["full"] } lnbits_rust = "0.1"

And then the code:

```rust,norun use lnbits_rust::{api::invoice::CreateInvoiceParams, LNBitsClient};

walletid: String, adminkey: String, invoicereadkey: String, lnbitsurl: String, tor_socket: Option,

[tokio::main]

async fn main() { let client = LNBitsClient::new( "wallet id", "adminkey", "invoicereadkey", "http://lnbitsurl", None, ) .unwrap();

// OR with tor

let client = LNBitsClient::new(
    "wallet id",
    "admin_key",
    "invoice_read_key",
    "http://lnbits_url.onion",
    Some("socks5h://127.0.0.1:9050"),
)
.unwrap();

let wallet_details = client.get_wallet_details().await.unwrap();

println!("wallet_details: {:?}", wallet_details);

let invoice = client
    .create_invoice(&CreateInvoiceParams {
        amount: 1,
        unit: "sat".to_string(),
        memo: None,
        webhook: None,
        internal: None,
    })
    .await
    .unwrap();

println!("invoice: {:?}", i);

println!(
    "decoded invoice: {:?}",
    client.decode_invoice(&i.payment_request).await.unwrap()
);

while !client.check_invoice(&i.payment_hash).await.unwrap() {
    println!("Waiting for payment");
    tokio::time::sleep(tokio::time::Duration::from_secs(1)).await;
}

println!("Payment received");

}

```

Key features

License

Licensed under MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)