Status API: getInfo

This commit is contained in:
Gustavo Cortez 2014-01-15 17:15:14 -03:00
parent fad7cb73aa
commit 5ddddb520d
3 changed files with 89 additions and 0 deletions

35
app/models/Status.js Normal file
View File

@ -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);

34
test/model/status.js Normal file
View File

@ -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();
});
});
});

20
util/status_info.js Executable file
View File

@ -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);
});