정홍주

Deleete app.js for merging

Showing 1 changed file with 0 additions and 127 deletions
1 -var express = require('express');
2 -var app = express();
3 -var fs = require('fs');
4 -const fetch = require('node-fetch');
5 -var bodyParser = require('body-parser');
6 -app.use(bodyParser.urlencoded({ extended: false }));
7 -app.use(bodyParser.json());
8 -
9 -var sortingArr = function(data, ratio)
10 -{
11 - return data.sort(function(first, second)
12 - {
13 - var a = first[ratio];
14 - var b = second[ratio];
15 -
16 - return a > b ? -1 : a < b ? 1 : 0;
17 - });
18 -};
19 -
20 -
21 -
22 -app.get('/pumping', function(req, res) {
23 - fs.readFile('coin_name.txt', 'utf8', function(err,data){
24 - coinNameArr = data.split(",");
25 -
26 -
27 - var volumePerWeekArr = new Array();
28 - function getWeekVolume()
29 - {
30 - var promise = new Promise(function(resolve, reject)
31 - {
32 - for (i = 0; i < coinNameArr.length; ++i)
33 - {
34 - (function (i)
35 - {
36 - setTimeout(function () {
37 - const url = 'https://api.upbit.com/v1/candles/weeks/?market='+coinNameArr[i]+'&count=1';
38 - const options = {method: 'GET', headers: {Accept: 'application/json'}};
39 - var coinJson = new Object();
40 - fetch(url, options)
41 - .then(res => res.json())
42 - .then(json => {
43 - coinJson.coin = coinNameArr[i];
44 - coinJson.tradeVolumePerWeek = json[0].candle_acc_trade_volume;
45 - volumePerWeekArr.push(coinJson);
46 - if (volumePerWeekArr.length >= coinNameArr.length)
47 - resolve(volumePerWeekArr);
48 - })
49 - .catch(err => console.error('error:' + err));
50 - }, i*300);
51 - })(i);
52 - }
53 - });
54 - return promise;
55 - }
56 -
57 -
58 - var volumePerThreeMinArr = new Array();
59 - function getThreeMinVolume()
60 - {
61 - var promise = new Promise(function(resolve, reject)
62 - {
63 - for (i = 0; i < coinNameArr.length; ++i)
64 - {
65 - (function (i)
66 - {
67 - setTimeout(function () {
68 - const url = 'https://api.upbit.com/v1/candles/minutes/3?market='+coinNameArr[i]+'&count=1';
69 - const options = {method: 'GET', headers: {Accept: 'application/json'}};
70 - var coinJson = new Object();
71 - fetch(url, options)
72 - .then(res => res.json())
73 - .then(json => {
74 - coinJson.coin = coinNameArr[i];
75 - coinJson.tradeVolumePerThreeMin = json[0].candle_acc_trade_volume;
76 - volumePerThreeMinArr.push(coinJson);
77 - if (volumePerThreeMinArr.length >= coinNameArr.length)
78 - resolve(volumePerThreeMinArr);
79 - })
80 - .catch(err => console.error('error:' + err));
81 - }, i*300);
82 - })(i);
83 - }
84 -
85 - });
86 - return promise;
87 - }
88 -
89 -
90 - var pumpingArr = new Array();
91 - function getResultArr(volArr, minArr)
92 - {
93 - var promise = new Promise(function(resolve, reject)
94 - {
95 - for (var i = 0; i < coinNameArr.length; i++)
96 - {
97 - var coinJson = new Object();
98 - coinJson.name = coinNameArr[i];
99 - coinJson.pumpingRatio = minArr[i].tradeVolumePerThreeMin / volArr[i].tradeVolumePerWeek * 1000000
100 - pumpingArr.push(coinJson);
101 - if (pumpingArr.length >= coinNameArr.length)
102 - resolve(pumpingArr);
103 - }
104 - })
105 - return promise;
106 - }
107 -
108 -
109 -
110 - // get
111 - getWeekVolume().then(function(volArr){
112 - getThreeMinVolume().then(function(minArr){
113 - getResultArr(volArr, minArr).then(function(result){
114 -
115 - //console.log(sortingArr(result, "pumpingRatio"));
116 - res.send(sortingArr(result, "pumpingRatio"));
117 -
118 - })
119 - })
120 - })
121 -
122 -
123 -
124 - })
125 -})
126 -var server = app.listen(8082);
127 -console.log("Server Created..");
...\ No newline at end of file ...\ No newline at end of file