fcoin/bin/node
Christopher Jeffrey 9a5f1c556d
strict mode.
2016-06-13 01:06:01 -07:00

58 lines
1.2 KiB
JavaScript
Executable File

#!/usr/bin/env node
'use strict';
var bcoin = require('../').set({ debug: true, debugFile: true });
var utils = bcoin.utils;
var assert = utils.assert;
process.on('uncaughtException', function(err) {
bcoin.error(err);
process.exit(1);
});
var node = new bcoin.fullnode({
prune: process.argv.indexOf('--prune') !== -1,
useCheckpoints: process.argv.indexOf('--checkpoints') !== -1,
listen: process.argv.indexOf('--listen') !== -1,
selfish: process.argv.indexOf('--selfish') !== -1,
headers: process.argv.indexOf('--headers') !== -1,
mine: process.argv.indexOf('--mine') !== -1,
parallel: process.argv.indexOf('--parallel') !== -1
});
node.on('error', function(err) {
bcoin.error(err);
});
node.open(function(err) {
if (err)
throw err;
node.listen(function(err) {
if (err)
throw err;
if (!node.options.mine) {
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));
});
});