apolloapi-v2/btc-miner-test-server.js
Michele Marcucci 47c76b5583 Timezone hack
2021-08-12 15:11:23 +02:00

241 lines
5.0 KiB
JavaScript

const fs = require('fs');
const moment = require('moment');
function getData() {
const hashrate = getRandomFloat(3700, 4000).toFixed(1);
return {
"date": moment().format('YYYY-MM-DD HH:mm:ss'), //"2021-01-26 15:54:19"
"statVersion": "1.2",
"versions": {
"miner": "v13.16.1",
"minerDate": "2019-08-08",
"minerDebug": "0",
"mspVer": "0xd163"
},
"master": {
"upTime": 591230,
"diff": getRandomArbitrary(4000, 4500),
"boards": 1,
"errorSpi": 0,
"osc": 62,
"hwAddr": "00:00:00:00:00:00",
"boardsI": "32.7",
"boardsW": "277.0",
"wattPerGHs": "0.073",
"intervals": {
"30": {
"name": "30 sec",
"interval": 10,
"bySol": "4118.9",
"byDiff": "7715.5",
"byPool": "7715.5",
"byJobs": "4198.6",
"solutions": "9590",
"errors": "107",
"errorRate": "1.1",
"chipSpeed": "93.61",
"chipRestarts": "0"
},
"300": {
"name": "5 min",
"interval": 103,
"bySol": "3804.5",
"byDiff": "4307.2",
"byPool": "3932.7",
"byJobs": "3883.1",
"solutions": "91237",
"errors": "1155",
"errorRate": "1.3",
"chipSpeed": "86.47",
"chipRestarts": "44"
},
"900": {
"name": "15 min",
"interval": 309,
"bySol": "3786.6",
"byDiff": "4244.8",
"byPool": "4057.5",
"byJobs": "3852.0",
"solutions": "272427",
"errors": "3320",
"errorRate": "1.2",
"chipSpeed": "86.06",
"chipRestarts": "132"
},
"3600": {
"name": "1 hour",
"interval": 1234,
"bySol": "3795.0",
"byDiff": "3751.5",
"byPool": "3657.7",
"byJobs": "3853.4",
"solutions": "1090341",
"errors": "13839",
"errorRate": "1.3",
"chipSpeed": "86.25",
"chipRestarts": "528"
},
"0": {
"name": "total",
"interval": 591202,
"bySol": hashrate,
"byDiff": "3799.1",
"byPool": "3750.3",
"byJobs": "3852.6",
"solutions": "522341986",
"errors": "6728977",
"errorRate": "1.3",
"chipSpeed": "86.24",
"chipRestarts": "254952"
}
}
},
"pool": {
"host": "us-east.stratum.slushpool.com",
"port": "3333",
"userName": "jstefanop.worker1",
"diff": 4491,
"intervals": {
"0": {
"name": "total",
"interval": 591202,
"jobs": 21681,
"cleanFlags": 1040,
"sharesSent": getRandomArbitrary(4000, 45000),
"sharesAccepted": 121988,
"sharesRejected": 89,
"solutionsAccepted": "516223196",
"minRespTime": "18446743115130962",
"avgRespTime": "150444149418",
"maxRespTime": "18446743706350111",
"shareLoss": "0.000000",
"poolTotal": 591202,
"inService": 591202,
"subscribeError": 0,
"diffChanges": 46,
"reconnections": 0,
"reconnectionsOnErrors": 0,
"defaultJobShares": 0,
"staleJobShares": 565,
"duplicateShares": 0,
"lowDifficultyShares": 1,
"pwcSharesSent": 123591,
"pwcSharesDropped": 0,
"bigDiffShares": 0,
"belowTargetShare": 0,
"pwcRestart": 0,
"statOverflow": 0
}
}
},
"fans": {
"0": {
"rpm": [
3720
]
}
},
"temperature": {
"count": 2,
"min": 0,
"avr": 34,
"max": 69
},
"slots": {
"0": {
"revision": 20,
"spiNum": 1,
"spiLen": 4,
"pwrNum": 2,
"pwrLen": 2,
"btcNum": 11,
"specVoltage": 12,
"chips": 44,
"pwrOn": 1,
"pwrOnTarget": 1,
"revAdc": 4007,
"temperature": 69,
"temperature1": 0,
"ocp": 0,
"heaterErr": 0,
"heaterErrNum": 0,
"inOHOsc": 0,
"ohOscNum": 0,
"ohOscTime": 0,
"overheats": 0,
"overheatsTime": 0,
"lowCurrRst": 0,
"currents": [
16325,
16333
],
"brokenPwc": 0,
"solutions": "9590",
"errors": "107",
"ghs": hashrate,
"errorRate": "1.1",
"chipRestarts": "0",
"wattPerGHs": "0.067251",
"tmpAlert": [
{
"alertLo": 0,
"alertHi": 0,
"numWrite": 0
},
{
"alertLo": 0,
"alertHi": 0,
"numWrite": 0
}
],
"osc": 62,
"oscStopChip": "N/A"
}
},
"slaves": [
{
"id": 0,
"uid": "4A003D0008504E3943303320",
"ver": "0x13160100",
"rx": 1022976,
"err": 0,
"time": 582575,
"ping": 854
}
],
"slavePingMin": 854,
"slavePingMax": 854,
"slavePingAvg": 854
}
}
function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
function getRandomFloat(min, max) {
return parseFloat(Math.random() * (max - min) + min);
}
class Server {
constructor(port, address) {
this.init();
}
init() {
setInterval(() => {
const data = JSON.stringify(getData(), null, 4);
fs.writeFile('backend/apollo-miner/apollo-miner.12A2C9', data, function (err) {
if (err) console.log(err)
console.log('Writing stat file')
const data2 = JSON.stringify(getData(), null, 4);
fs.writeFile('backend/apollo-miner/apollo-miner.FC614E3E', data2, function (err) {
if (err) console.log(err)
console.log('Writing stat file')
});
});
}, 3000)
}
}
new Server();