Expand description
§cmc
The cmc is an unofficial library for CoinMarketCap API
§CoinMarketCap ID Map
NOTE: CoinMarketCap recommend utilizing CMC ID instead of cryptocurrency symbols to securely identify cryptocurrencies with other endpoints and in your own application logic.
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),
}§Price cryptocurrency
use cmc::Cmc;
let cmc = Cmc::new("<API KEY>");
match cmc.price("BTC") {
Ok(price) => println!("Price: {}", price),
Err(err) => println!("Error: {}", err),
}§Price with custom settings
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),
}§Price conversion
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),
}§Exchange ID Map
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),
}§Crate Features
This crate supports default features:
cryptocurrencyexchangefiatglobal_metricskeytools
Disable all functions except the necessary ones:
[dependencies]
cmc = { version = "0.4.0", default-features = false, features = ["cryptocurrency"] }§Async
Asynchronous versions of functions are available through enabling the async feature:
[dependencies]
cmc = { version = "0.4.0", features = ["async"] }And then the code:
#[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),
}
}Modules§
Structs§
- Cmc
- A
Cmccan be used to create a CoinMarketCap client with default configuration. - CmcBuilder
- A
CmcBuildercan be used to create aCmcwith custom configuration.