mine market capitalization as well
This commit is contained in:
@@ -28,6 +28,7 @@ const getFullData = async url => {
|
|||||||
var resourceList = await fetch(resourceAPI);
|
var resourceList = await fetch(resourceAPI);
|
||||||
resourceList = await resourceList.json();
|
resourceList = await resourceList.json();
|
||||||
let finalData = [];
|
let finalData = [];
|
||||||
|
let marketCap = [];
|
||||||
for (let t1 = 0; t1 < resourceList.length; t1++) {
|
for (let t1 = 0; t1 < resourceList.length; t1++) {
|
||||||
console.log(`fetching resource ${t1 + 1}/${resourceList.length}`)
|
console.log(`fetching resource ${t1 + 1}/${resourceList.length}`)
|
||||||
var marketData = await fetch(exchangeAPI + resourceList[t1].db_letter, {
|
var marketData = await fetch(exchangeAPI + resourceList[t1].db_letter, {
|
||||||
@@ -38,25 +39,40 @@ const getFullData = async url => {
|
|||||||
if (marketData.status === 200) {
|
if (marketData.status === 200) {
|
||||||
marketData = await marketData.json();
|
marketData = await marketData.json();
|
||||||
let foundQ = [false, false, false, false, false, false, false];
|
let foundQ = [false, false, false, false, false, false, false];
|
||||||
|
let mCapSum = [0, 0, 0, 0, 0, 0, 0];
|
||||||
|
let mCapCount = [0, 0, 0, 0, 0, 0, 0];
|
||||||
let res = [];
|
let res = [];
|
||||||
for (let t2 = 0; t2 < marketData.length; t2++) {
|
for (let t2 = 0; t2 < marketData.length; t2++) {
|
||||||
if (!foundQ[marketData[t2].quality]) {
|
if (marketData[t2].quality <= 7) {
|
||||||
foundQ[marketData[t2].quality] = true;
|
if (!foundQ[marketData[t2].quality]) {
|
||||||
res.push(marketData[t2]);
|
foundQ[marketData[t2].quality] = true;
|
||||||
|
res.push(marketData[t2]);
|
||||||
|
}
|
||||||
|
mCapSum[marketData[t2].quality] += marketData[t2].price * marketData[t2].quantity;
|
||||||
|
mCapCount[marketData[t2].quality] += marketData[t2].quantity;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (let t3 = 0; t3 < res.length; t3++) {
|
for (let t3 = 0; t3 < res.length; t3++) {
|
||||||
finalData.push(res[t3]);
|
finalData.push(res[t3]);
|
||||||
|
|
||||||
|
marketCap.push({
|
||||||
|
kind: resourceList[t1].db_letter,
|
||||||
|
quality: t3,
|
||||||
|
avgprice: mCapCount[t3] === 0 ? 0 : mCapSum[t3] / mCapCount[t3],
|
||||||
|
count: mCapCount[t3],
|
||||||
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw ("fetch returned status code " + marketData.status);
|
throw ("fetch returned status code " + marketData.status);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return finalData;
|
return { data: finalData, cap: marketCap };
|
||||||
}
|
}
|
||||||
|
|
||||||
const storeFullData = async marketData => {
|
const storeFullData = async marketData => {
|
||||||
marketData = await marketData;
|
marketData = await marketData;
|
||||||
|
marketCap = marketData["cap"];
|
||||||
|
marketData = marketData["data"];
|
||||||
|
|
||||||
connection.beginTransaction(function (err) {
|
connection.beginTransaction(function (err) {
|
||||||
if (err) { throw err; }
|
if (err) { throw err; }
|
||||||
@@ -75,6 +91,22 @@ const storeFullData = async marketData => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (var data in marketCap) {
|
||||||
|
const kind = mysql.escape(marketCap[data]["kind"]);
|
||||||
|
const price = mysql.escape(marketCap[data]["avgprice"]);
|
||||||
|
const quality = mysql.escape(marketCap[data]["quality"]);
|
||||||
|
const amount = mysql.escape(marketCap[data]["count"]);
|
||||||
|
const storedate = `FROM_UNIXTIME(${Math.round(actualdate.valueOf() / 1000)})`;
|
||||||
|
const querystring = `INSERT INTO marketcap (kind,quality,price,amount,time) VALUES (${kind},${quality},${price},${amount},${storedate})`;
|
||||||
|
connection.query(querystring, function (error, results, fields) {
|
||||||
|
if (error) {
|
||||||
|
return connection.rollback(function () {
|
||||||
|
throw error;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
connection.commit(function (err) {
|
connection.commit(function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return connection.rollback(function () {
|
return connection.rollback(function () {
|
||||||
|
|||||||
Reference in New Issue
Block a user