Skip to content

Instantly share code, notes, and snippets.

@GoodnessEzeokafor
Created March 21, 2022 11:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GoodnessEzeokafor/16e1a110ae5e40d3ac96491e45569780 to your computer and use it in GitHub Desktop.
Save GoodnessEzeokafor/16e1a110ae5e40d3ac96491e45569780 to your computer and use it in GitHub Desktop.
crypto rate from coingecko
import axios from "axios"
const COINGGECKO_BASE_URL:string = 'https://api.coingecko.com/api/v3'
const VS_CURRENCY: string = "usd"
const CURRENCY_IDS:string = "bitcoin,ethereum,ripple,stellar,celo"
const ORDER:string = "market_cap_desc"
const PERPAGE:number = 100
const PAGE = 1
const SPARKLINE:boolean = false
// e.g 1h, 24h, 7d, 30d
const price_change_percentage="24h"
const CoinGecko = {
/** coin market data for bitcoin, ethereum, stellar, ripple and celo from coingecko */
allCryptoMarketCharts: async () => {
try {
const res = await axios.get(`${COINGGECKO_BASE_URL}/coins/markets?vs_currency=${VS_CURRENCY}&ids=${CURRENCY_IDS}&order=${ORDER}&per_page=${PERPAGE}&page=${PAGE}&sparkline=${SPARKLINE}&price_change_percentage=${price_change_percentage}`)
return Promise.resolve(res.data)
} catch (e:any) {
return Promise.reject(e.response.data.error);
}
},
cryptoMarketCharts: async (baseCurency:string,coin:string,priceChangePercentage:string) => {
try {
const res = await axios.get(`${COINGGECKO_BASE_URL}/coins/markets?vs_currency=${baseCurency}&ids=${coin}&order=${ORDER}&per_page=${PERPAGE}&page=${PAGE}&sparkline=${SPARKLINE}&price_change_percentage=${priceChangePercentage}`)
return Promise.resolve(res.data)
} catch (e:any) {
return Promise.reject(e.response.data.error);
}
},
cryptoPrices:async(base:string,coin:string,days:string, interval:string) =>{
try {
const res = await axios.get(`${COINGGECKO_BASE_URL}/coins/${coin}/market_chart?vs_currency=${base}&days=${days}&interval=${interval}`)
return Promise.resolve(res.data)
} catch (e:any) {
return Promise.reject(e.response.data.error);
}
}
};
export default CoinGecko;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment