#!/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, 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)); }); });