Expand description
§gecko
The gecko
crate provides convenient access coingeckos api.
The focus of this crate is on access/retreival of data from coingecko api endpoints and not on convenience or manipulating reponses/data.
Although, if raw text reponses are not desired, the crate has funcitonality to provide coingeckos api response in json objects.
Note: Coingeckos api has a limit of 100 requests per minute.
§Examples
§Default
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let gecko_client = gecko::CoinGeckoAPI::default();
let coins_list = gecko::coins::List::required();
let response = gecko_client.get_json(&coins_list).await.unwrap();
println!("{:?}", response);
Ok(())
}
§Custom
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let gecko_client = gecko::CoinGeckoAPI::default();
let mut coins_list = gecko::coins::Info::required("premia".to_string());
coins_list.tickers = false;
let response = gecko_client.get_json(&coins_list).await.unwrap();
println!("{:?}", response["id"]);
Ok(())
}
Or if you do not want the request object to be a mutable variable…
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let gecko_client = gecko::CoinGeckoAPI::default();
let coins_list = {
let mut _tmp = gecko::coins::Info::required("premia".to_string());
_tmp.tickers = false;
_tmp
};
let response = gecko_client.get_json(&coins_list).await.unwrap();
println!("{:?}", response["id"]);
Ok(())
}
For more information about CoinGecko API can be found here
Modules§
- asset_
platforms /asset_platforms
- categories
/categories
- coins
/coins
- companies
/companies
- contract
/contract
- derivatives
/derivatives
- events
/events
- exchange_
rates /exchange_rates
- exchanges
/exchange
- finance
/finance
- global
/global
- indexes
/indexes
- simple
/simple
- status_
updates /status_updates
- trending
/trending
Structs§
Traits§
- Route
- The Route trait can be implented to give a struct the ability to be used by CoinGeckoAPI