fcoin/bin/node
2016-07-15 18:20:55 -07:00

60 lines
1.1 KiB
JavaScript
Executable File

#!/usr/bin/env node
'use strict';
var bcoin = require('../');
var utils = bcoin.utils;
var assert = utils.assert;
process.on('uncaughtException', function(err) {
node.logger.debug(err.stack);
node.logger.error(err);
process.exit(1);
});
var node = new bcoin.fullnode({
logLevel: 'debug',
logFile: true,
db: 'leveldb',
prune: process.argv.indexOf('--prune') !== -1,
useCheckpoints: process.argv.indexOf('--checkpoints') !== -1,
selfish: process.argv.indexOf('--selfish') !== -1,
headers: process.argv.indexOf('--headers') !== -1,
parallel: process.argv.indexOf('--parallel') !== -1
});
node.on('error', function(err) {
;
});
node.open(function(err) {
if (err)
throw err;
node.listen(function(err) {
if (err)
throw err;
if (process.argv.indexOf('--mine') === -1) {
node.startSync();
return;
}
if (node.network.type === 'regtest') {
node.miner.start();
node.startSync();
return;
}
node.pool.connect();
node.startSync();
if (node.chain.isFull()) {
node.miner.start();
return;
}
node.chain.once('full', node.miner.start.bind(node.miner));
});
});