Back to Ccxt

Coinone Fetch Tickers

wiki/examples/js/coinone-fetch-tickers.md

4.5.601.5 KB
Original Source
javascript
// @NO_AUTO_TRANSPILE
import ololog from 'ololog';
import asTable from 'as-table';
import ccxt from '../../js/ccxt.js';
const { noLocate } = ololog;
const log = noLocate;
const table = asTable.configure({
    delimiter: ' | '.dim,
    right: true,
});
const exchange = new ccxt.coinone({
    'verbose': process.argv.includes('--verbose'),
});
let printTickersAsTable = function (exchange, tickers) {
    log(exchange.id.green, exchange.iso8601(exchange.milliseconds()));
    log('Fetched', Object.values(tickers).length.toString().green, 'tickers:');
    log(table(ccxt.sortBy(Object.values(tickers), 'symbol', false)));
};
async function fetchAllAndPrint() {
    const tickers = await exchange.fetchTickers();
    log('---------------------------------------- fetchTickers ----------------------------------------');
    printTickersAsTable(exchange, tickers);
}
async function fetchOneByOneAndPrint() {
    const markets = await exchange.loadMarkets();
    const symbols = Object.keys(markets);
    const tickers = [];
    log('---------------------------------------- fetchTicker (one by one) ----------------------------------------');
    for (let i = 0; i < symbols.length; i++) {
        const ticker = await exchange.fetchTicker(symbols[i]);
        tickers.push(ticker);
        log(`${i + 1} / ${symbols.length}`);
        log('\u001b[1A'.repeat(2)); // cursor up
    }
    printTickersAsTable(exchange, tickers);
}
(async () => {
    await fetchAllAndPrint();
    log('\n');
    await fetchOneByOneAndPrint();
})();