From 5ddddb520d675a19ac3e1c228d2044a403f4f3a3 Mon Sep 17 00:00:00 2001 From: Gustavo Cortez Date: Wed, 15 Jan 2014 17:15:14 -0300 Subject: [PATCH] Status API: getInfo --- app/models/Status.js | 35 +++++++++++++++++++++++++++++++++++ test/model/status.js | 34 ++++++++++++++++++++++++++++++++++ util/status_info.js | 20 ++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 app/models/Status.js create mode 100644 test/model/status.js create mode 100755 util/status_info.js diff --git a/app/models/Status.js b/app/models/Status.js new file mode 100644 index 0000000..283032b --- /dev/null +++ b/app/models/Status.js @@ -0,0 +1,35 @@ +'use strict'; + +require('classtool'); + +function spec() { + var async = require('async'); + var RpcClient = require('bitcore/RpcClient').class(); + var config = require('../../config/config'); + var rpc = new RpcClient(config.bitcoind); + + function Status() { + this.info = {}; + } + + Status.prototype.getInfo = function(next) { + var that = this; + async.series([ + function (cb) { + rpc.getInfo(function(err, block){ + if (err) return cb(err); + + that.info = block.result; + return cb(); + }); + } + ], function (err) { + return next(err); + }); + }; + + return Status; + +} +module.defineClass(spec); + diff --git a/test/model/status.js b/test/model/status.js new file mode 100644 index 0000000..0bcd6cd --- /dev/null +++ b/test/model/status.js @@ -0,0 +1,34 @@ +#!/usr/bin/env node + +process.env.NODE_ENV = process.env.NODE_ENV || 'development'; + +var + assert = require('assert'), + config = require('../../config/config'), + Status = require('../../app/models/Status').class(), + mongoose= require('mongoose'); + +describe('Status', function(){ + + before(function(done) { + mongoose.connect(config.db); + done(); + }); + + after(function(done) { + mongoose.connection.close(); + done(); + }); + + it('getInfo', function(done) { + var d = new Status(); + + d.getInfo(function(err) { + if (err) done(err); + assert.equal(4096, d.info.difficulty); + done(); + }); + }); + +}); + diff --git a/util/status_info.js b/util/status_info.js new file mode 100755 index 0000000..1b4deb8 --- /dev/null +++ b/util/status_info.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node +process.env.NODE_ENV = process.env.NODE_ENV || 'development'; + +var RpcClient = require('../node_modules/bitcore/RpcClient').class(); + +var config = require('../config/config'); + +var rpc = new RpcClient(config.bitcoind); + +var block = rpc.getInfo(function(err, block) { + if (err) { + console.log("Err:"); + console.log(err); + } + + console.log("Block info:"); + console.log(block); +}); + +