phorerate
Version:
Provides exchange rates for Phore to Fiat, BTC, and other Altcoins. Also provides Altcoins to Fiat and Altcoins to other Altcoins.
131 lines (84 loc) • 2.53 kB
JavaScript
const request = require('request');
const _ = require('underscore');
var requestAsync = function(url) {
return new Promise((resolve, reject) => {
var req = request(url, (err, response, body) => {
if(err) return reject(err, response, body);
resolve(JSON.parse(body));
});
});
};
const urls = [
'https://api.coinmarketcap.com/v1/ticker/phore/',
'https://bitpay.com/rates'
];
var getPhoreRate = async function(fc) {
try {
var data = await Promise.all(urls.map(requestAsync));
} catch (err) {
console.error(err);
}
var fc;
var phorebtcbody = data[0][0].price_btc;
var fiatrates = data[1].data;
var fiatfiltered = _.where(fiatrates, {code: fc});
var fiatrate = fiatfiltered[0].rate;
var phore2fiatrate = phorebtcbody * fiatrate;
return phore2fiatrate
}
var getAltRate = async function(fc, ac) {
var ac;
const urls1 = [
`https://api.coinmarketcap.com/v1/ticker/${ac}/`,
'https://bitpay.com/rates'
];
try {
var data = await Promise.all(urls1.map(requestAsync));
} catch (err) {
console.error(err);
}
var fc;
var altbtcbody = data[0][0].price_btc;
var fiatrates = data[1].data;
var fiatfiltered = _.where(fiatrates, {code: fc});
var fiatrate = fiatfiltered[0].rate;
var alt2fiatrate = altbtcbody * fiatrate;
return alt2fiatrate
}
var getPhore2AltRate = async function(ac) {
var ac;
const urls2 = [
`https://api.coinmarketcap.com/v1/ticker/${ac}/`,
'https://api.coinmarketcap.com/v1/ticker/phore/'
];
try {
var data = await Promise.all(urls2.map(requestAsync));
} catch (err) {
console.error(err);
}
var ac;
var altbtcbody1 = data[0][0].price_btc;
var phorebtcbody1 = data[1][0].price_btc;
var phore2alt = phorebtcbody1 / altbtcbody1;
return phore2alt
}
var getAlt2AltRate = async function(ac1, ac2) {
var ac1, ac2;
const urls3 = [
`https://api.coinmarketcap.com/v1/ticker/${ac1}/`,
`https://api.coinmarketcap.com/v1/ticker/${ac2}/`
];
try {
var data = await Promise.all(urls3.map(requestAsync));
} catch (err) {
console.error(err);
}
var altbtcbody2 = data[0][0].price_btc;
var altbtcbody3 = data[1][0].price_btc;
var alt2alt = altbtcbody2 / altbtcbody3;
return alt2alt
}
module.exports.getPhoreRate = getPhoreRate;
module.exports.getAltRate = getAltRate;
module.exports.getPhore2AltRate = getPhore2AltRate;
module.exports.getAlt2AltRate = getAlt2AltRate;