luno-client

Crates.ioluno-client
lib.rsluno-client
version0.1.0
sourcesrc
created_at2022-08-14 20:45:09.187332
updated_at2022-08-14 20:45:09.187332
descriptionLuno Api client(wrapper) written in rust
homepage
repositoryhttps://github.com/borngraced/Luno-API-Client-Rust
max_upload_size
id645572
size18,922
ddw (dontdiewondering)

documentation

README

Luno API Client(wrapper)

https://www.luno.com/en/developers/api

Authentication

Some API calls require your application to authenticate itself. This is done using an API key associated with your account. You can create an API key by visiting the API Keys section on the settings page.

An API key consists of a key id and a key secret. For example, cnz2yjswbv3jd (key id) and 0hydMZDb9HRR3Qq-iqALwZtXLkbLR4fWxtDZvkB9h4I (key secret).

API requests are authenticated using HTTP basic authentication with the key id as the username and the key secret as the password. A missing, incorrect or revoked key causes error 401 to be returned.

Each API key is granted a set of permissions when it is created. The key can only be used to call the permitted API functions.

USAGE

Dependencies

  1. reqwest
  2. serde
  3. serde_json
  4. tokio

Configuration

  1. Get your api key and secret from luno.com
  2. Create .env file in your project route and configure with:
    API_KEY=myapikey
    API_SECRET=myapisecret
  3. import Luno client to your project and initialize use luno_rust_api::Luno;
#[tokio::test] // any other async runtime can be used, not limited to tokio
async fn test_luno_async() {
	dotenv::dotenv().ok();
	let key = env::var("API_KEY").expect("Api Key doesn't exist yet, please add");
	let secret = env::var("API_SECRET").expect("Api Key Secret doesn't exist yet, please add");
	let luno = Luno::init(key, secret).await;
	let tickers = luno.get_all_balance().await;
	println!("{:#?}", json!(tickers.as_ref().unwrap())); // data can be serialized to json)
	assert_eq!(true, tickers.is_ok());
}

Available METHODS regularly (more will be added until completion)

  1. create_account()
  2. get_all_balance()
  3. get_ticker(pair: "XBTNGN")
  4. get_all_tickers()
  5. get_full_order_book(pair: "XBTNGN")
  6. get_top_order_book(pair: "XBTNGN")

CONTRIBUTING

make us better :)

Commit count: 38

cargo fmt