#bitcoin #luno #crypto #crypto-api #web #api-client #market-data

luno-rust-api

异步Rust Luno API将比特币和以太坊的世界带到您的门口

2个不稳定版本

0.1.0 2022年8月14日
0.0.1 2022年4月15日

#2 in #luno

MIT/Apache

20KB
462

Luno-API-Client-Rust (异步)

V.0.0.1 beta

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

Luno API为开发者提供了通过Luno平台提供的丰富金融信息。通过这个安全系统,开发者可以

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

异步Rust Luno API客户端将比特币和以太坊的世界带到您的门口。

认证

某些API调用需要您的应用程序进行认证。这是通过与您的账户关联的API密钥完成的。您可以通过访问设置页面上的API密钥部分来创建API密钥。

API密钥由密钥ID和密钥秘密组成。例如,cnz2yjswbv3jd(密钥ID)和0hydMZDb9HRR3Qq-iqALwZtXLkbLR4fWxtDZvkB9h4I(密钥秘密)。

API请求使用带有密钥ID作为用户名和密钥秘密作为密码的HTTP基本认证进行认证。缺少、错误或已吊销的密钥将返回错误401。

每个API密钥在创建时都获得一组权限。该密钥只能用于调用允许的API函数。

用法

依赖项

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

配置

  1. 从luno.com获取您的API密钥和秘密
  2. 在项目路由中创建.env文件并配置为
    API_KEY=myapikey
    API_SECRET=myapisecret
  3. 将Luno客户端导入到您的项目中并初始化 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());
}

可用方法(更多将在完成前添加)

  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")

贡献

让我们变得更好 :)

依赖项

~6–21MB
~286K SLoC