itns-sidechain/bin/node

65 lines
1.4 KiB
Text
Raw Normal View History

2016-02-14 18:05:21 -08:00
#!/usr/bin/env node
2016-06-13 01:06:01 -07:00
'use strict';
2016-07-04 05:36:06 -07:00
var bcoin = require('../');
2016-02-14 18:05:21 -08:00
var utils = bcoin.utils;
var assert = utils.assert;
2016-04-08 18:11:19 -07:00
process.on('uncaughtException', function(err) {
2016-07-04 05:36:06 -07:00
node.logger.debug(err.stack);
node.logger.error(err);
2016-04-08 18:11:19 -07:00
process.exit(1);
});
var fast = process.argv.indexOf('--fast') !== -1;
2016-05-07 00:52:55 -07:00
var node = new bcoin.fullnode({
2016-07-04 05:36:06 -07:00
logLevel: 'debug',
logFile: true,
db: 'leveldb',
2016-03-11 23:09:07 -08:00
prune: process.argv.indexOf('--prune') !== -1,
2016-07-20 19:30:52 -07:00
compact: process.argv.indexOf('--compact') !== -1,
useCheckpoints: fast || process.argv.indexOf('--checkpoints') !== -1,
coinCache: fast || process.argv.indexOf('--coin-cache') !== -1,
selfish: process.argv.indexOf('--selfish') !== -1,
headers: fast || process.argv.indexOf('--headers') !== -1,
2016-07-25 18:26:29 -07:00
parallel: process.argv.indexOf('--parallel') !== -1,
bip151: process.argv.indexOf('--bip151') !== -1
2016-02-14 18:05:21 -08:00
});
node.on('error', function(err) {
2016-07-04 05:36:06 -07:00
;
2016-02-14 18:05:21 -08:00
});
2016-03-22 17:36:58 -07:00
node.open(function(err) {
if (err)
throw err;
2016-05-19 11:56:11 -07:00
node.listen(function(err) {
if (err)
throw err;
2016-07-04 05:36:06 -07:00
if (process.argv.indexOf('--mine') === -1) {
node.startSync();
return;
}
if (node.network.type === 'regtest') {
2016-05-19 11:56:11 -07:00
node.miner.start();
2016-05-22 22:12:03 -07:00
node.startSync();
2016-05-19 11:56:11 -07:00
return;
}
node.pool.connect();
2016-05-19 11:56:11 -07:00
node.startSync();
if (node.chain.isFull()) {
node.miner.start();
return;
}
node.chain.once('full', node.miner.start.bind(node.miner));
2016-05-19 11:56:11 -07:00
});
2016-03-22 17:36:58 -07:00
});