45 lines
1.0 KiB
JavaScript
Executable File
45 lines
1.0 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
var bcoin = require('../').set({ debug: true, debugFile: true });
|
|
var utils = bcoin.utils;
|
|
var assert = utils.assert;
|
|
|
|
process.on('uncaughtException', function(err) {
|
|
bcoin.debug(err ? err.stack + '' : 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,
|
|
broadcast: process.argv.indexOf('--broadcast') !== -1,
|
|
mine: process.argv.indexOf('--mine') !== -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) {
|
|
if (bcoin.network.get().type !== 'regtest')
|
|
node.pool.connect();
|
|
node.miner.start();
|
|
if (node.chain.isFull())
|
|
node.startSync();
|
|
return;
|
|
}
|
|
|
|
node.startSync();
|
|
});
|
|
});
|