bitcore-node-zcash/config/config.js

128 lines
3.5 KiB
JavaScript
Raw Normal View History

2014-01-06 08:33:58 -08:00
'use strict';
2014-01-31 09:20:56 -08:00
var path = require('path'),
2014-07-29 07:23:30 -07:00
fs = require('fs'),
rootPath = path.normalize(__dirname + '/..'),
env,
db,
port,
b_port,
p2p_port;
2014-05-26 09:29:52 -07:00
var packageStr = fs.readFileSync('package.json');
var version = JSON.parse(packageStr).version;
2014-04-17 05:32:49 -07:00
function getUserHome() {
2014-07-29 07:23:30 -07:00
return process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'];
2014-04-17 05:32:49 -07:00
}
2014-07-29 07:23:30 -07:00
var home = process.env.INSIGHT_DB || (getUserHome() + '/.insight');
2014-04-17 05:32:49 -07:00
if (process.env.INSIGHT_NETWORK === 'livenet') {
env = 'livenet';
2014-04-17 05:32:49 -07:00
db = home;
2014-02-13 08:20:19 -08:00
port = '3000';
b_port = '8332';
p2p_port = '8333';
2014-07-29 07:23:30 -07:00
} else {
env = 'testnet';
2014-04-17 05:32:49 -07:00
db = home + '/testnet';
2014-02-26 07:05:30 -08:00
port = '3001';
b_port = '18332';
p2p_port = '18333';
}
2014-01-31 10:00:48 -08:00
2014-05-13 10:02:19 -07:00
2014-07-29 07:23:30 -07:00
switch (process.env.NODE_ENV) {
2014-01-31 10:00:48 -08:00
case 'production':
env += '';
break;
2014-01-31 10:00:48 -08:00
case 'test':
env += ' - test environment';
break;
2014-01-31 10:00:48 -08:00
default:
env += ' - development';
break;
2014-01-31 10:00:48 -08:00
}
2014-02-25 06:10:00 -08:00
var network = process.env.INSIGHT_NETWORK || 'testnet';
2014-02-11 13:18:01 -08:00
var dataDir = process.env.BITCOIND_DATADIR;
var isWin = /^win/.test(process.platform);
var isMac = /^darwin/.test(process.platform);
var isLinux = /^linux/.test(process.platform);
if (!dataDir) {
if (isWin) dataDir = '%APPDATA%\\Bitcoin\\';
if (isMac) dataDir = process.env.HOME + '/Library/Application Support/Bitcoin/';
if (isLinux) dataDir = process.env.HOME + '/.bitcoin/';
}
2014-02-25 06:10:00 -08:00
dataDir += network === 'testnet' ? 'testnet3' : '';
2014-02-11 13:18:01 -08:00
2014-05-30 10:10:32 -07:00
var safeConfirmations = process.env.INSIGHT_SAFE_CONFIRMATIONS || 6;
2014-07-29 07:23:30 -07:00
var ignoreCache = process.env.INSIGHT_IGNORE_CACHE || 0;
2014-05-26 09:29:52 -07:00
var bitcoindConf = {
2014-07-29 07:23:30 -07:00
protocol: process.env.BITCOIND_PROTO || 'http',
2014-05-26 09:29:52 -07:00
user: process.env.BITCOIND_USER || 'user',
pass: process.env.BITCOIND_PASS || 'pass',
host: process.env.BITCOIND_HOST || '127.0.0.1',
port: process.env.BITCOIND_PORT || b_port,
p2pPort: process.env.BITCOIND_P2P_PORT || p2p_port,
p2pHost: process.env.BITCOIND_P2P_HOST || process.env.BITCOIND_HOST || '127.0.0.1',
2014-05-26 09:29:52 -07:00
dataDir: dataDir,
// DO NOT CHANGE THIS!
disableAgent: true
};
2014-09-02 07:05:57 -07:00
var enableMonitor = process.env.ENABLE_MONITOR === 'true';
2014-09-01 07:36:25 -07:00
var enableCleaner = process.env.ENABLE_CLEANER === 'true';
2014-08-20 09:05:27 -07:00
var enableMailbox = process.env.ENABLE_MAILBOX === 'true';
2014-08-20 11:40:56 -07:00
var enableRatelimiter = process.env.ENABLE_RATELIMITER === 'true';
var loggerLevel = process.env.LOGGER_LEVEL || 'info';
2014-08-21 10:45:32 -07:00
var enableHTTPS = process.env.ENABLE_HTTPS === 'true';
2014-04-17 05:32:49 -07:00
2014-07-29 07:23:30 -07:00
if (!fs.existsSync(db)) {
var err = fs.mkdirSync(db);
if (err) {
console.log(err);
console.log("## ERROR! Can't create insight directory! \n");
console.log('\tPlease create it manually: ', db);
process.exit(-1);
}
2014-04-17 05:32:49 -07:00
}
2014-01-31 09:20:56 -08:00
module.exports = {
2014-09-02 07:05:57 -07:00
enableMonitor: enableMonitor,
2014-09-02 07:07:00 -07:00
monitor: require('../plugins/config-monitor.js'),
2014-09-01 07:36:25 -07:00
enableCleaner: enableCleaner,
cleaner: require('../plugins/config-cleaner.js'),
2014-08-20 09:05:27 -07:00
enableMailbox: enableMailbox,
2014-09-01 07:36:25 -07:00
mailbox: require('../plugins/config-mailbox.js'),
2014-08-20 11:40:56 -07:00
enableRatelimiter: enableRatelimiter,
2014-09-01 07:36:25 -07:00
ratelimiter: require('../plugins/config-ratelimiter.js'),
loggerLevel: loggerLevel,
2014-08-21 10:45:32 -07:00
enableHTTPS: enableHTTPS,
2014-07-30 12:23:04 -07:00
version: version,
2014-01-31 09:20:56 -08:00
root: rootPath,
2014-02-26 11:27:22 -08:00
publicPath: process.env.INSIGHT_PUBLIC_PATH || false,
2014-01-31 10:00:48 -08:00
appName: 'Insight ' + env,
apiPrefix: '/api',
port: port,
leveldb: db,
2014-07-29 07:23:30 -07:00
bitcoind: bitcoindConf,
2014-02-25 06:10:00 -08:00
network: network,
2014-01-31 09:20:56 -08:00
disableP2pSync: false,
disableHistoricSync: false,
2014-02-26 11:27:22 -08:00
poolMatchFile: rootPath + '/etc/minersPoolStrings.json',
2014-02-05 10:59:44 -08:00
// Time to refresh the currency rate. In minutes
2014-02-26 07:05:30 -08:00
currencyRefresh: 10,
keys: {
2014-02-26 11:27:22 -08:00
segmentio: process.env.INSIGHT_SEGMENTIO_KEY
2014-05-25 13:34:49 -07:00
},
2014-05-26 09:29:52 -07:00
safeConfirmations: safeConfirmations, // PLEASE NOTE THAT *FULL RESYNC* IS NEEDED TO CHANGE safeConfirmations
2014-05-30 10:10:32 -07:00
ignoreCache: ignoreCache,
2014-01-31 09:20:56 -08:00
};