17 个版本

0.4.4 2024年3月11日
0.4.1 2024年1月18日
0.4.0 2023年9月1日
0.3.0 2022年12月20日
0.2.1 2022年7月31日

#404 in 神奇豆子

Download history 22/week @ 2024-04-02 3/week @ 2024-04-09 2/week @ 2024-04-16 14/week @ 2024-04-23 3/week @ 2024-05-07 5/week @ 2024-05-14 8/week @ 2024-05-21 1/week @ 2024-05-28 7/week @ 2024-06-04 16/week @ 2024-06-11 10/week @ 2024-06-18 7/week @ 2024-06-25 44/week @ 2024-07-02 6/week @ 2024-07-09 1/week @ 2024-07-16

每月61次下载

MIT/Apache

110KB
2K SLoC

cmc

Crates.io docs.rs MIT licensed Apache-2.0 licensed

非官方 Rust 库用于 CoinMarketCap API

使用

在此获取您的 API 密钥 这里


CoinMarketCap ID 映射

注意: CoinMarketCap 建议使用 CMC ID 而不是加密货币符号来安全地识别加密货币,以及其他端点和您自己的应用程序逻辑中的加密货币。

use cmc::{Cmc, Sort};

let cmc = Cmc::new("<API KEY>");

match cmc.id_map(1, 50, Sort::CmcRank) {
    Ok(map) => println!("{}", map),
    Err(err) => println!("{}", err),
}

加密货币价格

use cmc::Cmc;

let cmc = Cmc::new("<API KEY>");

match cmc.price("BTC") {
    Ok(price) => println!("Price: {}", price),
    Err(err) => println!("Error: {}", err),
}

自定义设置的价格

use cmc::{CmcBuilder, Pass};

let cmc = CmcBuilder::new("<API KEY>")
    .pass(Pass::Id)
    .convert("EUR")
    .build();

match cmc.price("1027") { // 1027 is Ethereum id.
    Ok(price) => println!("Price: {}", price), // In Euro instead default USD
    Err(err) => println!("Error: {}", err),
}

价格转换

use cmc::Cmc;

let cmc = Cmc::new("<API KEY>");

// 2.5 BTC in EUR (using symbols)
match cmc.price_conversion(2.5, "BTC", None, "EUR") {
    Ok(price) => println!("Total price: {}", price),
    Err(err) => println!("Error: {}", err),
}

// 1.6 ETH in XMR (using id's)
match cmc.price_conversion_id(1.6, "1027", None, "328") {
    Ok(price) => println!("Total price: {}", price),
    Err(err) => println!("Error: {}", err),
}

交易所 ID 映射

use cmc::{Cmc, ListingStatusExchange, SortExchange};

let cmc = Cmc::new("<API KEY>");

match cmc.exchange_id_map(ListingStatusExchange::Active, 1, 10, SortExchange::Id, None) {
    Ok(map) => println!("{}", map),
    Err(err) => println!("{}", err),
}

包功能

此包支持默认功能

  • 加密货币
  • 交易所
  • 法定货币
  • 全球指标
  • 密钥
  • 工具

禁用除必需功能外的所有功能

[dependencies]
cmc = { version = "0.4.0", default-features = false, features = ["cryptocurrency"] }

异步

通过启用异步功能可以获取函数的异步版本

[dependencies]
cmc = { version = "0.4.0", features = ["async"] }

然后是代码

#[tokio::main]
async fn main() {
    use cmc::async_api::Cmc;
    
    let cmc = Cmc::new("<API KEY>");
    
    match cmc.price("BTC").await {
        Ok(price) => println!("Price: {}", price),
        Err(err) => println!("Error: {}", err),
    }
}

许可证

根据以下任一许可证授权

贡献

除非您明确说明,否则您根据 Apache-2.0 许可证定义提交的任何有意包含在作品中的贡献,都应按上述方式双许可,而不附加任何额外条款或条件。

依赖项

~4-15MB
~230K SLoC