#api #http-api #client #opennode

opennode-client

Client for the Opennode v1 HTTP API

3 releases (stable)

1.0.1 Jan 6, 2020
1.0.0 Nov 27, 2019
0.1.0 Oct 15, 2019

#146 in #http-api

MIT license

30KB
540 lines

opennode-client

MIT licensed opennode on crates.io opennode on docs.rs tippin.me

Rust Client for the Opennode v1 HTTP API. This library rely on rust Futures to allow asynchronous usage.

Opennode API documentation

Usage

Put this in your Cargo.toml:

[dependencies]
opennode = "1.0.0"
opennode-client = "1.0.1"

And this in your crate root:

extern crate opennode;
extern crate opennode_client;

Test

cargo test

Examples

Run file from examples with:

cargo run --example <example> -- <example flags> <example args>

Getting Started

use clap::{App, Arg};

use opennode::account;
use opennode_client::{client::Client, get_account_balance};

/// Get account balance:
/// `cargo run --example account -- --key=<KEY>`
#[tokio::main]
async fn main() {
    let app = App::new("account").arg(
        Arg::with_name("key")
            .short("k")
            .long("key")
            .help("opennode api_key")
            .value_name("KEY")
            .required(true)
            .takes_value(true),
    );

    let matches = app.get_matches();
    let api_key = matches.value_of("key").unwrap();
    let client = Client::from_url("https://dev-api.opennode.co", api_key);

    let balance: account::Balance = get_account_balance(&client).await.unwrap();

    println!("{:?}", balance)
}

Dependencies

~3–8MB
~166K SLoC