39 lines
1.0 KiB
JavaScript
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;
|