diff --git a/app.js b/app.js index 6c06fc2..b498d08 100755 --- a/app.js +++ b/app.js @@ -181,7 +181,17 @@ app.continueStartup = function() { timeout: rpcCred.timeout }; - global.client = new bitcoinCore(rpcClientProperties); + global.rpcClient = new bitcoinCore(rpcClientProperties); + + var rpcClientNoTimeoutProperties = { + host: rpcCred.host, + port: rpcCred.port, + username: rpcCred.username, + password: rpcCred.password, + timeout: 0 + }; + + global.rpcClientNoTimeout = new bitcoinCore(rpcClientNoTimeoutProperties); coreApi.getNetworkInfo().then(function(getnetworkinfo) { debugLog(`Connected via RPC to node. Basic info: version=${getnetworkinfo.version}, subversion=${getnetworkinfo.subversion}, protocolversion=${getnetworkinfo.protocolversion}, services=${getnetworkinfo.localservices}`); diff --git a/app/api/rpcApi.js b/app/api/rpcApi.js index 584b804..263cec6 100644 --- a/app/api/rpcApi.js +++ b/app/api/rpcApi.js @@ -269,6 +269,8 @@ function getRpcData(cmd) { debugLog(`RPC: ${cmd}`); rpcCall = function(callback) { + var client = (cmd == "gettxoutsetinfo" ? global.rpcClientNoTimeout : global.rpcClient); + client.command(cmd, function(err, result, resHeaders) { if (err) { utils.logError("32euofeege", err, {cmd:cmd}); @@ -295,7 +297,7 @@ function getRpcDataWithParams(request) { debugLog(`RPC: ${JSON.stringify(request)}`); rpcCall = function(callback) { - client.command([request], function(err, result, resHeaders) { + global.rpcClient.command([request], function(err, result, resHeaders) { if (err != null) { utils.logError("38eh39hdee", err, {result:result, headers:resHeaders}); diff --git a/routes/baseActionsRouter.js b/routes/baseActionsRouter.js index ed2f921..182d97b 100644 --- a/routes/baseActionsRouter.js +++ b/routes/baseActionsRouter.js @@ -229,7 +229,7 @@ router.post("/connect", function(req, res, next) { req.session.port = port; req.session.username = username; - var client = new bitcoinCore({ + var newClient = new bitcoinCore({ host: host, port: port, username: username, @@ -237,9 +237,9 @@ router.post("/connect", function(req, res, next) { timeout: 30000 }); - debugLog("created client: " + client); + debugLog("created new rpc client: " + newClient); - global.client = client; + global.rpcClient = newClient; req.session.userMessage = "Connected via RPC: " + username + " @ " + host + ":" + port; req.session.userMessageType = "success"; @@ -256,9 +256,9 @@ router.get("/disconnect", function(req, res, next) { req.session.port = ""; req.session.username = ""; - debugLog("destroyed client."); + debugLog("destroyed rpc client."); - global.client = null; + global.rpcClient = null; req.session.userMessage = "Disconnected from node."; req.session.userMessageType = "success"; @@ -575,7 +575,7 @@ router.get("/tx/:transactionId", function(req, res, next) { } promises.push(new Promise(function(resolve, reject) { - client.command('getblock', rawTxResult.blockhash, function(err3, result3, resHeaders3) { + global.rpcClient.command('getblock', rawTxResult.blockhash, function(err3, result3, resHeaders3) { res.locals.result.getblock = result3; var txids = []; @@ -945,7 +945,7 @@ router.post("/rpc-terminal", function(req, res, next) { return; } - client.command([{method:cmd, parameters:parsedParams}], function(err, result, resHeaders) { + global.rpcClientNoTimeout.command([{method:cmd, parameters:parsedParams}], function(err, result, resHeaders) { debugLog("Result[1]: " + JSON.stringify(result, null, 4)); debugLog("Error[2]: " + JSON.stringify(err, null, 4)); debugLog("Headers[3]: " + JSON.stringify(resHeaders, null, 4)); @@ -1060,7 +1060,7 @@ router.get("/rpc-browser", function(req, res, next) { debugLog("Executing RPC '" + req.query.method + "' with params: [" + argValues + "]"); - client.command([{method:req.query.method, parameters:argValues}], function(err3, result3, resHeaders3) { + global.rpcClientNoTimeout.command([{method:req.query.method, parameters:argValues}], function(err3, result3, resHeaders3) { debugLog("RPC Response: err=" + err3 + ", result=" + result3 + ", headers=" + resHeaders3); if (err3) { diff --git a/views/layout.pug b/views/layout.pug index f816687..2516219 100644 --- a/views/layout.pug +++ b/views/layout.pug @@ -37,7 +37,7 @@ html(lang="en") span(class="navbar-toggler-icon") div(class="collapse navbar-collapse", id="navbarNav") - if (client) + if (rpcClient) ul(class="navbar-nav mr-auto") if (false) li(class="nav-item") diff --git a/views/node-status.pug b/views/node-status.pug index 22daadc..d0ca521 100644 --- a/views/node-status.pug +++ b/views/node-status.pug @@ -36,7 +36,7 @@ block content table(class="table details-table mb-0") tr td(class="properties-header") Host : Port - td(class="monospace") #{global.client.host + " : " + global.client.port} + td(class="monospace") #{global.rpcClient.host + " : " + global.rpcClient.port} tr td(class="properties-header") Chain