summaryrefslogtreecommitdiffstats
path: root/gold/scex/tracer/index.js
diff options
context:
space:
mode:
authortv <tv@xso>2011-08-24 17:05:23 +0200
committertv <tv@xso>2011-08-24 17:05:23 +0200
commit7c18a3d4e5897adb4ddd141aed261ce63daf1a10 (patch)
tree8c67329a81cbb52e90902cddc90c6d7e38ea42ec /gold/scex/tracer/index.js
parentb35a8971a9e1fa904db4356cb28fc4cd648134d3 (diff)
gold: move tracer to own subdir
Diffstat (limited to 'gold/scex/tracer/index.js')
-rw-r--r--gold/scex/tracer/index.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/gold/scex/tracer/index.js b/gold/scex/tracer/index.js
new file mode 100644
index 00000000..e0c706e7
--- /dev/null
+++ b/gold/scex/tracer/index.js
@@ -0,0 +1,58 @@
+var http = require('http');
+var slurp = require('./slurp');
+
+var options = {
+ host: 'scexchange.bitparking.com',
+ port: 8080,
+ path: '/api/t2'
+};
+
+var last_id = 0;
+var last_price = 0;
+function t2 () {
+ http.get(options, function(res) {
+ slurp(res, function (data) {
+ try {
+ data = JSON.parse(data);
+ } catch (exn) {
+ return console.error('' + exn.stack + '');
+ };
+ data
+ .sort(function (a, b) {
+ return a.id - b.id;
+ })
+ .forEach(function (x) {
+ if (x.id > last_id) {
+ last_id = x.id;
+
+ x.date = new Date(Number(x.date) * 1000);
+
+ var price = x.price.toString();
+ while (price.length < 'x.xxxxxxxx'.length) {
+ price += 0;
+ }
+ if (x.price > last_price) {
+ price = '' + price + ''
+ }
+ if (x.price < last_price) {
+ price = '' + price + ''
+ }
+ last_price = x.price;
+
+ var c = ({ buy: '', sell: '' })[x.type];
+ var m = '';
+ m += x.id
+ m += ' ' + JSON.parse(JSON.stringify(x.date))
+ m += ' ' + price
+ m += ' ' + c + x.amount + ''
+ console.log(m);
+
+ };
+ });
+ });
+ }).on('error', function(e) {
+ console.log("Got error: " + e.message);
+ });
+};
+
+setInterval(t2, 1000);