2015-10-17 05:15:25 -07:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var program = require('commander');
|
|
|
|
var path = require('path');
|
|
|
|
var bitcore = require('..');
|
|
|
|
|
2015-10-19 10:41:08 -07:00
|
|
|
function main(servicesPath, additionalServices) {
|
2015-10-17 05:15:25 -07:00
|
|
|
/* jshint maxstatements: 100 */
|
|
|
|
|
|
|
|
var version = bitcore.version;
|
|
|
|
var start = bitcore.scaffold.start;
|
|
|
|
var findConfig = bitcore.scaffold.findConfig;
|
|
|
|
var defaultConfig = bitcore.scaffold.defaultConfig;
|
|
|
|
|
|
|
|
program
|
|
|
|
.version(version)
|
|
|
|
.description('Start the current node')
|
|
|
|
.option('-c, --config <dir>', 'Specify the directory with Bitcore Node configuration')
|
|
|
|
.option('-d, --daemon', 'Make bitcore a daemon (running in the background)');
|
|
|
|
|
|
|
|
program.parse(process.argv);
|
|
|
|
|
|
|
|
if (program.config) {
|
|
|
|
program.config = path.resolve(process.cwd(), program.config);
|
|
|
|
}
|
|
|
|
var configInfo = findConfig(program.config || process.cwd());
|
|
|
|
if (!configInfo) {
|
2015-10-19 10:41:08 -07:00
|
|
|
configInfo = defaultConfig({
|
|
|
|
additionalServices: additionalServices
|
|
|
|
});
|
2015-10-17 05:15:25 -07:00
|
|
|
}
|
|
|
|
if(program.daemon) {
|
|
|
|
configInfo.config.daemon = true;
|
|
|
|
}
|
2015-10-19 10:41:08 -07:00
|
|
|
if (servicesPath) {
|
|
|
|
configInfo.servicesPath = servicesPath;
|
|
|
|
}
|
2015-10-17 05:15:25 -07:00
|
|
|
start(configInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = main;
|