mirror of
https://github.com/jwinterm/nodejs-pool.git
synced 2026-10-17 05:21:27 +02:00
Update to include the new tool framework.
This commit is contained in:
@@ -5,11 +5,13 @@ let argv = require('minimist')(process.argv.slice(2));
|
||||
let config = fs.readFileSync("./config.json");
|
||||
let coinConfig = fs.readFileSync("./coinConfig.json");
|
||||
let protobuf = require('protocol-buffers');
|
||||
let path = require('path');
|
||||
|
||||
global.support = require("./lib/support.js")();
|
||||
global.config = JSON.parse(config);
|
||||
global.mysql = mysql.createPool(global.config.mysql);
|
||||
global.protos = protobuf(fs.readFileSync('./lib/data.proto'));
|
||||
global.argv = argv;
|
||||
let comms;
|
||||
let coinInc;
|
||||
|
||||
@@ -52,46 +54,60 @@ global.mysql.query("SELECT * FROM config").then(function (rows) {
|
||||
global.database.initEnv();
|
||||
global.coinFuncs.blockedAddresses.push(global.config.pool.address);
|
||||
global.coinFuncs.blockedAddresses.push(global.config.payout.feeAddress);
|
||||
switch(argv.module){
|
||||
case 'pool':
|
||||
global.config.ports = [];
|
||||
global.mysql.query("SELECT * FROM port_config").then(function(rows){
|
||||
rows.forEach(function(row){
|
||||
row.hidden = row.hidden === 1;
|
||||
row.ssl = row.ssl === 1;
|
||||
global.config.ports.push({
|
||||
port: row.poolPort,
|
||||
difficulty: row.difficulty,
|
||||
desc: row.portDesc,
|
||||
portType: row.portType,
|
||||
hidden: row.hidden,
|
||||
ssl: row.ssl
|
||||
if (argv.hasOwnProperty('tool') && fs.existsSync('./tools/'+argv.tool+'.js')) {
|
||||
require('./lib/'+argv.tool+'.js');
|
||||
} else if (argv.hasOwnProperty('module')){
|
||||
switch(argv.module){
|
||||
case 'pool':
|
||||
global.config.ports = [];
|
||||
global.mysql.query("SELECT * FROM port_config").then(function(rows){
|
||||
rows.forEach(function(row){
|
||||
row.hidden = row.hidden === 1;
|
||||
row.ssl = row.ssl === 1;
|
||||
global.config.ports.push({
|
||||
port: row.poolPort,
|
||||
difficulty: row.difficulty,
|
||||
desc: row.portDesc,
|
||||
portType: row.portType,
|
||||
hidden: row.hidden,
|
||||
ssl: row.ssl
|
||||
});
|
||||
});
|
||||
}).then(function(){
|
||||
require('./lib/pool.js');
|
||||
});
|
||||
}).then(function(){
|
||||
require('./lib/pool.js');
|
||||
});
|
||||
break;
|
||||
case 'blockManager':
|
||||
require('./lib/blockManager.js');
|
||||
break;
|
||||
case 'payments':
|
||||
require('./lib/payments.js');
|
||||
break;
|
||||
case 'api':
|
||||
require('./lib/api.js');
|
||||
break;
|
||||
case 'remoteShare':
|
||||
require('./lib/remoteShare.js');
|
||||
break;
|
||||
case 'worker':
|
||||
require('./lib/worker.js');
|
||||
break;
|
||||
case 'longRunner':
|
||||
require('./lib/longRunner.js');
|
||||
break;
|
||||
default:
|
||||
console.error("Invalid module provided. Please provide a valid module");
|
||||
process.exit(1);
|
||||
break;
|
||||
case 'blockManager':
|
||||
require('./lib/blockManager.js');
|
||||
break;
|
||||
case 'payments':
|
||||
require('./lib/payments.js');
|
||||
break;
|
||||
case 'api':
|
||||
require('./lib/api.js');
|
||||
break;
|
||||
case 'remoteShare':
|
||||
require('./lib/remoteShare.js');
|
||||
break;
|
||||
case 'worker':
|
||||
require('./lib/worker.js');
|
||||
break;
|
||||
case 'longRunner':
|
||||
require('./lib/longRunner.js');
|
||||
break;
|
||||
default:
|
||||
console.error("Invalid module provided. Please provide a valid module");
|
||||
process.exit(1);
|
||||
}
|
||||
} else {
|
||||
console.error("Invalid module/tool provided. Please provide a valid module/tool");
|
||||
console.error("Valid Modules: pool, blockManager, payments, api, remoteShare, worker, longRunner");
|
||||
let valid_tools = "Valid Tools: ";
|
||||
fs.readdirSync('./tools/').forEach(function(line){
|
||||
valid_tools += path.parse(line).name + ", ";
|
||||
});
|
||||
valid_tools = valid_tools.slice(0, -2);
|
||||
console.error(valid_tools);
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,43 @@
|
||||
const valid_actions = ['finder', 'stats', 'list'];
|
||||
let error = 0;
|
||||
if (!global.argv.hasOwnProperty('action') || !valid_actions.hasOwnProperty(global.argv.action)) {
|
||||
console.error("No action provided to block module.");
|
||||
console.error("Valid actions: " + valid_actions.join(', '));
|
||||
}
|
||||
|
||||
switch (global.argv.action) {
|
||||
case 'finder':
|
||||
if (!global.argv.hasOwnProperty('value')) {
|
||||
console.error('No block provided in value field. Please use --value=blockID');
|
||||
error = 1;
|
||||
break;
|
||||
}
|
||||
let blockID = parseInt(global.argv.value);
|
||||
let block_data = global.database.getBlockByID(blockID);
|
||||
/*
|
||||
required string hash = 1;
|
||||
required int64 difficulty = 2;
|
||||
required int64 shares = 3;
|
||||
required int64 timestamp = 4;
|
||||
required POOLTYPE poolType = 5;
|
||||
required bool unlocked = 6;
|
||||
required bool valid = 7;
|
||||
optional int64 value = 8;
|
||||
*/
|
||||
if (!block_data) {
|
||||
console.error("Invalid blockID provided.");
|
||||
error = 1;
|
||||
break;
|
||||
}
|
||||
console.log("Data for block: " + blockID + '\n' +
|
||||
'Hash: ' + block_data.hash + '\n' +
|
||||
'Difficulty: ' + block_data.hash + '\n' +
|
||||
'Hashes Required: ' + block_data.hash + '\n' +
|
||||
'Find Time: ' + block_data.hash + '\n' +
|
||||
'Pool Type: ' + block_data.hash + '\n' +
|
||||
'Unlocked: ' + block_data.hash + '\n' +
|
||||
'Valid: ' + block_data.hash + '\n' +
|
||||
'Value: ' + block_data.hash + '\n');
|
||||
}
|
||||
|
||||
process.exit(error);
|
||||
Reference in New Issue
Block a user