flocore-node/index.js
2015-04-07 15:50:13 -03:00

39 lines
1.0 KiB
JavaScript

'use strict';
var BitcoreNode = require('./lib/node');
var reporters = require('./lib/reporters');
var bitcore = require('bitcore');
var Promise = require('bluebird');
Promise.longStackTraces();
BitcoreNode.errors = require('./lib/errors');
if (require.main === module) {
var config = require('config');
bitcore.Networks.defaultNetwork = bitcore.Networks.get(config.get('BitcoreNode').network);
var node = BitcoreNode.create(config.get('BitcoreNode'));
node.start();
node.on('error', function(err) {
if (err.code === 'ECONNREFUSED') {
console.log('Connection to bitcoind failed');
} else {
console.log('Error: ', err);
}
});
process.on('SIGINT', function() {
node.stop();
process.exit();
});
var reporterName = config.get('Reporter');
var reporter = reporters[reporterName];
if (!reporter) {
throw new Error('Unrecognized network reporter: ' + reporterName +
'. Available: ' + Object.keys(reporters));
}
node.on('Transaction', reporter);
}
module.exports = BitcoreNode;