Luno API Client written in Rust Language for Rustaceans :)

Overview

Luno-API-Client-Rust (async)

V.0.01 beta

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

The Luno API provides developers with a wealth of financial information provided through the Luno platform. Through this secure system developers can:

Create accounts for trading in cryptocurrencies
Access current and historic cryptocurrency market data
Submit trade orders and view order status
Buy and sell Bitcoin and Ethereum
Send and receive Bitcoin and Ethereum
Generate Bitcoin and Ethereum wallet addresses

The Async Rust Luno API brings the world of Bitcoin and Ethereum to your doorstep.

This API is still in beta phase and not ready to be used in a live environment

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. futures
  5. tokio
  6. dotenv

Configuration

  1. Get your api key from luno
  2. configure your env with:
    API_KEY=myapikey
    API_SECRET=myapisecret

INITIALIZING LUNO API FROM RUST APP

#[tokio::test]
async fn test_something_async() {
    dotenv::dotenv().ok();
    // for some reason, test cannot be async
    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);
    let balance = luno.get_all_balance().await;
    println!("Balances {:?}", balance)
}

Available METHODS regularly (more will be added until completion)

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

CONTRIBUTING

Make a pull request and make us better :)

You might also like...
Yet another ROS2 client library written in Rust
Yet another ROS2 client library written in Rust

RclRust Target CI Status Document Foxy (Ubuntu 20.04) Introduction This is yet another ROS2 client library written in Rust. I have implemented it inde

A variation of the solana helloworld program example with a client written in Rust instead of Typescript

Simple Solana Smart Contract Example This repository demonstrates how to create and invoke a program on the Solana blockchain. In Solana the word prog

A Discord bot for sending GeoGuessr challenge links that uses the GeoGuessr API written in rust.

GeoGuessr-bot-rs This is a simple implementation of a discord bot that send GeoGuessr-challenge links on demand. Features: Slash-commands Lightning-fa

A gui api explorer written in Rust.

Zzz - GUI Api platform Pronounced "Zees"; as in "catching some Z's". A pun on RESTful APIs. example URL: https://jsonplaceholder.typicode.com/todos/ T

A powerful minecraft bedrock software written in Rust with a powerful Typescript plugin API.
A powerful minecraft bedrock software written in Rust with a powerful Typescript plugin API.

Netrex A powerful minecraft bedrock software written in RustLang. Why Netrex? It's written in Rust. Unique and straight to the point. Typescript Plugi

Autogenerated wrapper for the Telegram Bot API written in Rust.
Autogenerated wrapper for the Telegram Bot API written in Rust.

An Elegant Rust Client for Telegram Bot API crates.io • docs.rs Table of contents Introduction Key Features Installation Getting Started Documentation

A language server for lua written in rust

lua-analyzer lua-analyzer is a lsp server for lua. This is mostly for me to learn the lsp protocol and language analysis so suggestions are helpful. T

The brainfuck language interpreter written in Rust

The brainfuck language interpreter written in Rust

A simple interpreter written in Rust programming language.

Interpreter in Rust A simple interpreter written in Rust programming language. Getting Started These instructions will get you a copy of the project u

Owner
borngraced
Typescript && Rust
borngraced
An asynchronous Rust client library for the Hashicorp Vault API

vaultrs An asynchronous Rust client library for the Hashicorp Vault API The following features are currently supported: Auth AppRole JWT/OIDC Token Us

Joshua Gilman 59 Dec 29, 2022
🦀 Zulip API Library Rust Client

Zulip API Client Library Rust Crate This repo contains the code for an unofficial, third-party Zulip API client library crate written in the Rust prog

Manuel Nila 3 Oct 23, 2022
Meteor Client Installer - Installer to automate the install of Fabric and Meteor Client

This is an installer that automates the install of Meteor and Fabric

Jake Priddle 3 Jun 23, 2021
Modrinth API is a simple library for using, you guessed it, the Modrinth API in Rust projects

Modrinth API is a simple library for using, you guessed it, the Modrinth API in Rust projects. It uses reqwest as its HTTP(S) client and deserialises responses to typed structs using serde.

null 21 Jan 1, 2023
An asynchronous API client for a light installation at the University of Kiel

An asynchronous API client for a light installation at the University of Kiel

FW 2 Nov 22, 2022
API wrapper for the tankerkönig api

tankerkoenig-rs API wrapper for the tankerkoenig-api written in rust. Gives you ready deserialized structs and a easy to use and strictly typed api. I

Jonathan 2 Feb 27, 2022
A repository full of manually generated hand curated JSON files, which contain the API Types that the Discord API returns.

Discord API Types A repository full of manually generated hand curated JSON files, which contain the API Types that the Discord API returns. Also did

Unofficial Discord Documentation 1 Sep 16, 2022
A fast & light weight Discord Client made with love using the Rust programming language.

LemonCord A fast & light-weight Discord Client written in Rust using the wry crate. Features Fast, light-weight, easy to use. 100% Open sourced. No su

Lemon Rose 5 Jan 30, 2023
tr-lang is a language that aims to bring programming language syntax closer to Turkish.

tr-lang Made with ❤️ in ???? tr-lang is a language that aims to bring programming language syntax closer to Turkish. tr-lang is a stack based language

Kerem Göksu 10 Apr 2, 2022
A language server implementation for the WGSL shading language

wgsl-analyzer wgsl-analyzer is a language server plugin for the WGSL Shading language. It comes with a VS Code plugin located in ./editors/code, but d

null 155 Jan 2, 2023