trustwallet-assets/script/updateBEP2.js

40 lines
1.3 KiB
JavaScript
Raw Normal View History

2019-08-09 22:46:58 +00:00
const axios = require("axios")
const bluebird = require("bluebird")
const fs = require("fs")
const path = require("path")
const chalk = require('chalk')
;(async () => {
const { assetInfoList } = await axios.get(`https://explorer.binance.org/api/v1/assets?page=1&rows=1000`).then(r => r.data)
await bluebird.each(assetInfoList, async ({ asset, assetImg }) => {
if (assetImg) {
const assetLower = asset.toLowerCase()
const binanceDir = path.join(__dirname, `../blockchains/binance`)
const imagePath = `${binanceDir}/assets/${assetLower}/logo.png`
if (fs.existsSync(imagePath)) {
console.log(chalk.green(`${assetLower}`))
} else {
console.log(chalk.red(`${assetLower}`))
fs.mkdir(`${binanceDir}/assets/${assetLower}`, err => {
if (err && err.code != `EEXIST`) throw err
})
await fetchImage(assetImg).then(buffer => {
buffer.pipe(fs.createWriteStream(imagePath))
})
}
}
})
function fetchImage(url) {
return axios.get(url, { responseType: "stream" }).then(r => r.data).catch(err => {
throw `Error fetchImage: ${url} ${err.message}`
})
}
})().catch(err => {
console.error(err)
process.exit(1)
})