diff --git a/README.md b/README.md index 41730c0..0ac5ad2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -
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 {