diff --git a/README.md b/README.md index 41730c0..0ac5ad2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -

Welcome to duino-pools 👋

+

Welcome to duino-coin-pools 👋

Maintenance diff --git a/package.json b/package.json index 6b525b5..6fcc0cd 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "node-os-utils": "^1.3.5", "xxhashjs": "^0.2.2", "chalk": "4.1.2", + "sync-request": "^6.1.0", "form-data": "4.0.0" } } diff --git a/src/mining.js b/src/mining.js index b430069..a7bf0fa 100755 --- a/src/mining.js +++ b/src/mining.js @@ -1,7 +1,7 @@ /* Duino-Coin Mining handler For documention about these functions see https://github.com/revoxhere/duino-coin/blob/useful-tools -2019-2022 Duino-Coin community */ +2019-2023 Duino-Coin community */ const crypto = require("crypto"); const request = require('sync-request'); @@ -24,13 +24,14 @@ globalBlocks = []; let workers = {}; let usrWorkers = {}; let minersStats = {}; +let cachedItems = {}; let balancesToUpdate = {}; let globalShares = { increase: 0, total: 0, }; if (!max_shares_per_minute) { - let max_shares_per_minute = 70; + let max_shares_per_minute = 80; } const getDiff = (poolRewards, textDiff) => { @@ -47,8 +48,13 @@ const checkWorkers = (ipWorkers, usrWorkers, serverMiners, username) => { if (Math.max(ipWorkers, usrWorkers, serverMiners) > maxWorkers) { /* Check if user has worker limit upgrades */ - res = request('GET', `https://server.duinocoin.com/v2/users/${username}`) - userItems = JSON.parse(res.getBody('utf8')).result.items; + if (!cachedItems.hasOwnProperty(username) && getRand(50) != 10) { + res = request('GET', `https://server.duinocoin.com/v2/users/${username}`) + userItems = JSON.parse(res.getBody('utf8')).result.items; + cachedItems[username] = userItems; + } else { + userItems = cachedItems[username]; + } if (userItems.includes(10) && userItems.includes(11)) { if (Math.max(ipWorkers, usrWorkers, serverMiners) > 125) { @@ -150,8 +156,6 @@ const miningHandler = async (conn, data, mainListener, usingAVR) => { data = data.split(","); conn.ping = (new Date() - feedback_sent) / 1000; - if (data[1] != username) conn.reject_shares = "Username changed"; - if (conn.overrideDifficulty) reqDifficulty = conn.overrideDifficulty; else if (usingAVR) reqDifficulty = "AVR"; @@ -247,10 +251,9 @@ const miningHandler = async (conn, data, mainListener, usingAVR) => { conn.lastminshares++; + let miner_res = parseInt(answer[0]); if (usingAVR) { miner_res = parseInt(answer[0], 2); - } else { - miner_res = parseInt(answer[0]); } /* try {