Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2770 commits
Select commit Hold shift + click to select a range
54ab253
Improved error reporting for block submit
MoneroOcean May 5, 2025
5318d3c
Fixed TXM block id
MoneroOcean May 6, 2025
5c8e0d1
Improved main block submit
MoneroOcean May 7, 2025
be07e2d
New helper function
MoneroOcean May 7, 2025
0207b65
Fixed XMR block diff reporting
MoneroOcean May 7, 2025
ab4bcf1
New helper
MoneroOcean May 8, 2025
b9648e4
TXM support
MoneroOcean May 8, 2025
3089d8d
Fixed error
MoneroOcean May 8, 2025
e977e8c
Submit TXM blocks
MoneroOcean May 8, 2025
5238cfc
Fixed TXM mining
MoneroOcean May 8, 2025
1198002
Currect TXM height reporting
MoneroOcean May 9, 2025
1aedef6
Currect TXM height reporting
MoneroOcean May 9, 2025
67cb0e5
Updated monero version
MoneroOcean May 9, 2025
5cb77b0
Fixed reward for TXN
MoneroOcean May 9, 2025
8430717
Minor fixes
MoneroOcean May 9, 2025
3c2967a
Improved TXM reporting
MoneroOcean May 10, 2025
406b19c
Compute TXM diff
MoneroOcean May 10, 2025
3e7663d
Fix height for TXM
MoneroOcean May 10, 2025
c1ddb47
Add TXM diff
MoneroOcean May 10, 2025
d77618c
Updated TXM to XTM
MoneroOcean May 11, 2025
a50bda6
Updated TXM to XTM
MoneroOcean May 11, 2025
320b8d4
Added rewards to XTM top header
MoneroOcean May 25, 2025
2393858
Fixed bug
MoneroOcean May 25, 2025
2de06fc
Fixed bug
MoneroOcean May 25, 2025
27dac42
Fixed bug
MoneroOcean May 25, 2025
f6e29e2
Fixed bug
MoneroOcean May 25, 2025
1d08b2e
Adjusted TARI block submit
MoneroOcean May 25, 2025
e0466b4
Fixed XTM block selection
MoneroOcean May 25, 2025
ad69815
Fixed XTM block selection
MoneroOcean May 25, 2025
cfad7e4
Fixed XTM block selection
MoneroOcean May 25, 2025
b03a11a
Fixed XTM block selection
MoneroOcean May 25, 2025
8cee77b
Fixed XTM block selection
MoneroOcean May 25, 2025
011f94e
Fixed XTM diff
MoneroOcean May 26, 2025
8e2b4d3
Fixed XTM diff
MoneroOcean May 26, 2025
976598e
Fixed XTM diff
MoneroOcean May 26, 2025
35638ce
New script
MoneroOcean May 26, 2025
eba7c8e
Fixed XTM last block
MoneroOcean May 26, 2025
50e7e78
Fixed XTM last block
MoneroOcean May 26, 2025
8eaec75
Fixed XTM last block
MoneroOcean May 26, 2025
cf4b999
Fixed XTM last block
MoneroOcean May 26, 2025
ff9c42b
Fixed XTM last block
MoneroOcean May 26, 2025
55f7975
Fixed XTM last block
MoneroOcean May 26, 2025
835632b
Fixed XTM last block
MoneroOcean May 26, 2025
c81920d
Fixed XTM last block
MoneroOcean May 26, 2025
34e4b59
Fixed XTM last block
MoneroOcean May 26, 2025
b2de270
Fixed XTM last block
MoneroOcean May 26, 2025
46111f4
Fixed XTM last block
MoneroOcean May 26, 2025
443ff15
Fixed XTM last block
MoneroOcean May 26, 2025
9540231
Fixed XTM last block
MoneroOcean May 26, 2025
d5e7477
Adjusted for grpc proxy change
MoneroOcean May 26, 2025
bff0f4c
Added XTM-T pilot implementation
MoneroOcean May 27, 2025
8f8e3dd
Bug fix
MoneroOcean May 27, 2025
4a8520a
Adjusted XTM block diff reporting
MoneroOcean May 28, 2025
bd5890b
Added height
MoneroOcean May 28, 2025
0249ef4
Fixed bt
MoneroOcean May 28, 2025
2e4e9f9
Potential fix
MoneroOcean May 28, 2025
4a1db2b
Potential fix
MoneroOcean May 28, 2025
9f0303d
Fixed XTM-T block hash
MoneroOcean May 28, 2025
714765c
Updated to uint64 strings
MoneroOcean May 29, 2025
7e554ae
Fixed getting XTM-T bt in case it was updated in flight
MoneroOcean May 29, 2025
6438232
Fixed XTM-T block submission
MoneroOcean May 30, 2025
d110c8e
Removed extra debug
MoneroOcean May 31, 2025
0f0e66c
Fixed XTM height string
MoneroOcean May 31, 2025
30905b5
Diff add
MoneroOcean May 31, 2025
dc25665
Fixed XTM diff and height
MoneroOcean Jun 1, 2025
91163a2
Fixed XTM diff and height
MoneroOcean Jun 1, 2025
9c4f40a
New utility scripts
MoneroOcean Jun 1, 2025
73781d0
Fixed bug
MoneroOcean Jun 3, 2025
b9db2ee
Fixed XTM BT
MoneroOcean Jun 4, 2025
f2cb392
More XTM info
MoneroOcean Jun 5, 2025
c2ff530
More XTM info
MoneroOcean Jun 5, 2025
901a796
More XTM info
MoneroOcean Jun 5, 2025
b80acf2
More reliable XTM blocks
MoneroOcean Jun 5, 2025
a4a3714
More XTM info
MoneroOcean Jun 5, 2025
f243c6f
More XTM info
MoneroOcean Jun 5, 2025
f0f2f73
More reliable XTM blocks
MoneroOcean Jun 5, 2025
cf4f4af
More reliable XTM blocks
MoneroOcean Jun 5, 2025
55afb14
More reliable XTM blocks
MoneroOcean Jun 5, 2025
4f4b0eb
More reliable XTM blocks
MoneroOcean Jun 5, 2025
f08f03f
More reliable XTM blocks
MoneroOcean Jun 5, 2025
5507900
More reliable XTM blocks
MoneroOcean Jun 5, 2025
9bd00f3
More reliable XTM blocks
MoneroOcean Jun 5, 2025
ca2abfb
More reliable XTM blocks
MoneroOcean Jun 5, 2025
b63c860
Fixed ARQ blob type
MoneroOcean Jun 7, 2025
b81f701
ARQ support
MoneroOcean Jun 9, 2025
00cbbac
Updated ZEPH
MoneroOcean Jun 11, 2025
694bfe6
Fixed for ZEPH
MoneroOcean Jun 12, 2025
a657c89
Fixed for ZEPH
MoneroOcean Jun 12, 2025
e2ed2ec
Fixed XTM port
MoneroOcean Jun 12, 2025
076e8fa
Disabled XTNC
MoneroOcean Jun 19, 2025
8f78d0f
Fixed block header call
MoneroOcean Jun 21, 2025
f1a0652
Fixed block header call
MoneroOcean Jun 21, 2025
4921f1d
Moved to single step BT for XTM-T
MoneroOcean Jun 25, 2025
5c423f2
Disabled check for XWP
MoneroOcean Jul 7, 2025
6f1d394
Disabled check for XWP
MoneroOcean Jul 7, 2025
7fda321
Disabled check for XWP
MoneroOcean Jul 8, 2025
6db9d21
Fixed XTM block template
MoneroOcean Aug 11, 2025
ad6b66e
c29 xtm mining support
MoneroOcean Sep 4, 2025
16dbc1d
c29 xtm mining support
MoneroOcean Sep 4, 2025
97e6763
Updated Tari C29 support to match luckypool/lolminer implementation
MoneroOcean Sep 13, 2025
e85700a
Fixed lolminer reponse
MoneroOcean Sep 16, 2025
9546169
Fixed c29_cycle_hash
MoneroOcean Sep 16, 2025
16bfc1b
Fixed XTM_C hash
MoneroOcean Oct 1, 2025
ef47ada
SaviumOne support
MoneroOcean Oct 7, 2025
92a3328
Restored ZEPH tx check
MoneroOcean Oct 9, 2025
fd589db
Updated XMR daemon
MoneroOcean Oct 11, 2025
a0793c2
Fixed SAL after fork
MoneroOcean Oct 14, 2025
96c8c02
SAL fixes
MoneroOcean Oct 15, 2025
382f766
SAL fixes
MoneroOcean Oct 15, 2025
e61f636
Fixed SAL
MoneroOcean Oct 16, 2025
5eba160
Fixed minor bugs
MoneroOcean Mar 7, 2026
d49abc5
Reduced old block history
MoneroOcean Mar 13, 2026
c6f9cfd
Optimized table
MoneroOcean Mar 13, 2026
e6133bc
Increased wallet requests timeouts
MoneroOcean Mar 15, 2026
99b1352
Fix for XLA blocks that are accumulated due to exchange high min depo…
MoneroOcean Mar 15, 2026
8c33ff7
Pool test suite
MoneroOcean Apr 6, 2026
49bf59e
Added more tests
MoneroOcean Apr 6, 2026
1fae552
Added more tests
MoneroOcean Apr 6, 2026
3ac87f8
Added more tests
MoneroOcean Apr 6, 2026
ecdf5cc
Test harness fix
MoneroOcean Apr 6, 2026
43cf0ca
Added more tests
MoneroOcean Apr 6, 2026
4d82633
Added more tests
MoneroOcean Apr 6, 2026
5e8a5ce
Refactor tests
MoneroOcean Apr 7, 2026
46e019c
Split tests
MoneroOcean Apr 7, 2026
aa3175d
Remove minor deps
MoneroOcean Apr 7, 2026
8ee93da
Remove minor deps
MoneroOcean Apr 7, 2026
16504aa
Test real support.js
MoneroOcean Apr 7, 2026
9dfdac2
Restored request usage
MoneroOcean Apr 7, 2026
c79bb91
Bug fix
MoneroOcean Apr 7, 2026
e090fdc
Reverted last commits
MoneroOcean Apr 7, 2026
a8eb6eb
Revert prior changes
MoneroOcean Apr 7, 2026
e694839
Revert prior changes
MoneroOcean Apr 7, 2026
aa3e51d
Security fixes
MoneroOcean Apr 7, 2026
f6a0d22
Bignum removal work
MoneroOcean Apr 7, 2026
71526e3
Fixed bigint
MoneroOcean Apr 8, 2026
05f8022
Restored tests
MoneroOcean Apr 8, 2026
cb82000
Simplified deps
MoneroOcean Apr 8, 2026
4370f93
Improved tests
MoneroOcean Apr 8, 2026
02ba210
Improved tests
MoneroOcean Apr 8, 2026
b804958
Restored RTM fix
MoneroOcean Apr 8, 2026
7eb2d04
Fixed CCX case
MoneroOcean Apr 8, 2026
2600e5f
Added more tests
MoneroOcean Apr 8, 2026
868ea4a
Added more tests
MoneroOcean Apr 8, 2026
e3a37c7
Flaky test fix
MoneroOcean Apr 8, 2026
8dad0bb
Added more tests
MoneroOcean Apr 8, 2026
ea20e47
Test stability fix
MoneroOcean Apr 8, 2026
ab71926
Test stability fix
MoneroOcean Apr 8, 2026
dec17bb
Simplified test output
MoneroOcean Apr 8, 2026
64a6268
Pool code refactor
MoneroOcean Apr 9, 2026
3f2c3ea
Pool code refactor
MoneroOcean Apr 9, 2026
41f5af6
Pool code refactor
MoneroOcean Apr 9, 2026
252e8c2
pool: harden miner-spam retention paths
MoneroOcean Apr 9, 2026
87d175d
pool: harden miner socket lifecycle
MoneroOcean Apr 10, 2026
8bdc07b
pool: rate limit miner rpc spam
MoneroOcean Apr 10, 2026
00db508
pool: rate limit pre-share job polling
MoneroOcean Apr 10, 2026
5134528
pool: cut off pre-share invalid job spam
MoneroOcean Apr 10, 2026
0ccf477
pool: rate limit subscribe-phase miner rpc
MoneroOcean Apr 10, 2026
12c4eca
pool: reject unknown miner rpc methods
MoneroOcean Apr 10, 2026
28086ed
pool: cut off stale-share spam before first share
MoneroOcean Apr 10, 2026
5afad3f
pool: harden eth extranonce allocation
MoneroOcean Apr 10, 2026
f3d0edc
pool: defer user record sync until first share
MoneroOcean Apr 10, 2026
c2d9c9b
pool: throttle banned wallet login logs by payout
MoneroOcean Apr 10, 2026
2783a58
pool: raise tracked nonce cap for proxy jobs
MoneroOcean Apr 10, 2026
aa2e920
pool: throttle invalid login logs by login value
MoneroOcean Apr 10, 2026
79537cf
pool: preserve miner log throttle state
MoneroOcean Apr 10, 2026
0c63d41
tests: add pool live suite
MoneroOcean Apr 11, 2026
044bf19
pool: relax claimed-extranonce timeout for slow-start DAG algos
MoneroOcean Apr 11, 2026
013fa50
pool: simplify first-share timeout handling
MoneroOcean Apr 11, 2026
0601c3c
Fix eth-style submit nonce normalization and extranonce binding
MoneroOcean Apr 11, 2026
458c5b1
Accept eth-style full nonces without extranonce prefix
MoneroOcean Apr 11, 2026
082dcd0
Bind eth-style keepalives to authenticated sockets
MoneroOcean Apr 11, 2026
b55a9dc
refactor live pool test harness
MoneroOcean Apr 12, 2026
39cd44a
Restore delayed final-reply jitter
MoneroOcean Apr 12, 2026
7269ee9
Deduplicate eth-style template nonces
MoneroOcean Apr 12, 2026
bdde0e8
refactor longRunner and unify test entrypoints
MoneroOcean Apr 12, 2026
d0ca271
tests: fail fast before live miner setup
MoneroOcean Apr 12, 2026
64db94f
deps: restore utf8 package
MoneroOcean Apr 12, 2026
2035ccd
deps: restore crypto-js package
MoneroOcean Apr 12, 2026
5c56076
fix remote share frame parsing
MoneroOcean Apr 12, 2026
3e72752
tests: restore live suite tls pool preflight
MoneroOcean Apr 12, 2026
42c85c3
Refactor pool coin behaviors into per-coin profiles
MoneroOcean Apr 13, 2026
edf25d6
Fix live pool auth regressions
MoneroOcean Apr 13, 2026
898b7b3
Rename long runner test and move block reward script
MoneroOcean Apr 13, 2026
94bb37b
Refactor pool stats refresh path
MoneroOcean Apr 13, 2026
97a2f5c
Suppress duplicate background RPC error logs
MoneroOcean Apr 13, 2026
5279fa4
Rename pool stats test file
MoneroOcean Apr 13, 2026
2b6fbdb
Simplify pool to pplns and xmr-only paths
MoneroOcean Apr 13, 2026
8a45ae6
Unblock pool stats startup from price refresh
MoneroOcean Apr 13, 2026
dcb0de6
Fix pool stats main-port comparisons
MoneroOcean Apr 13, 2026
9994111
Handle string pool stats ports
MoneroOcean Apr 13, 2026
0bcd0ab
Delay pool stats timers until initial refresh completes
MoneroOcean Apr 13, 2026
6d76cce
Remove obsolete pool config leftovers
MoneroOcean Apr 14, 2026
47f20c3
Handle zero-hash share submissions gracefully
MoneroOcean Apr 14, 2026
e780404
Clear local session trust for same-wallet miners
MoneroOcean Apr 14, 2026
ef85baf
Gate block submit fast path on wallet trust
MoneroOcean Apr 14, 2026
e9b157e
Updated utils for SAL v1.1
MoneroOcean Apr 14, 2026
193bba2
Refactor worker history and recent window stats
MoneroOcean Apr 14, 2026
98461b0
Fix shared cache update marker race
MoneroOcean Apr 14, 2026
7517dec
Reduce noisy startup logging
MoneroOcean Apr 14, 2026
42799d3
Remove recent window share cache
MoneroOcean Apr 14, 2026
8521f00
Refactor init module startup dispatch
MoneroOcean Apr 14, 2026
0ca5b4a
Make startup logs stand out
MoneroOcean Apr 14, 2026
4b179fa
Separate worker history layout startup log
MoneroOcean Apr 14, 2026
bec239a
Increase worker cache batch size
MoneroOcean Apr 14, 2026
657d4de
Revert worker cache batch size increase
MoneroOcean Apr 14, 2026
56ec7d1
Skip unchanged worker cache writes
MoneroOcean Apr 14, 2026
410ddfd
Log skipped worker cache writes
MoneroOcean Apr 14, 2026
6d77d8d
Report skipped worker cache writes in MB
MoneroOcean Apr 14, 2026
70321c6
Compact worker cache skip status
MoneroOcean Apr 14, 2026
098d14e
Refactor remoteShare runtime and pool remote uplink
MoneroOcean Apr 14, 2026
91034f0
Add remote share delivery diagnostics
MoneroOcean Apr 14, 2026
0e644a7
Add remoteShare ingress diagnostics
MoneroOcean Apr 15, 2026
ce8349d
Guard remoteShare pending job polling
MoneroOcean Apr 15, 2026
49521d3
Rename remoteShare pending DB with migration
MoneroOcean Apr 15, 2026
9eb298b
Remove remoteShare pending DB migration
MoneroOcean Apr 15, 2026
cafcdd0
Tighten remoteShare diagnostics
MoneroOcean Apr 15, 2026
d37d6e3
Rename remoteShare pending DB
MoneroOcean Apr 15, 2026
9aad38c
Remove remoteShare pending DB migration
MoneroOcean Apr 15, 2026
bbf7edf
Improve graceful shutdown handling
MoneroOcean Apr 15, 2026
1036aad
Simplify remoteShare pending job logs
MoneroOcean Apr 15, 2026
88a7832
Restore hard RPC wall timeouts
MoneroOcean Apr 15, 2026
d4b2ece
Shorten worker LMDB read lifetimes
MoneroOcean Apr 15, 2026
fe60c7b
Improve longRunner progress logging
MoneroOcean Apr 15, 2026
ecad9aa
Improve longRunner cleanup diagnostics
MoneroOcean Apr 15, 2026
1e98796
Improve longRunner share cleanup reporting
MoneroOcean Apr 15, 2026
f1ab983
Refine longRunner cleanup wording
MoneroOcean Apr 15, 2026
f2209f9
Fix ETH header callback propagation
MoneroOcean Apr 15, 2026
be2e9fc
Log JSON-RPC errors from support requests
MoneroOcean Apr 15, 2026
92f46b5
Remove unused cacheUpdate marker
MoneroOcean Apr 15, 2026
af2e387
Add cache unused-key audit script
MoneroOcean Apr 15, 2026
7c4f275
Avoid OOM in cache unused-key audit
MoneroOcean Apr 15, 2026
dd3a0dc
Add delete mode to cache unused-key audit
MoneroOcean Apr 15, 2026
0768f58
Harden remote share shutdown and LMDB cleanup
MoneroOcean Apr 15, 2026
82c574a
Reduce coin helper boilerplate
MoneroOcean Apr 15, 2026
3dbf956
Extract generic coin profile presets
MoneroOcean Apr 15, 2026
014b840
Reduce local helper duplication
MoneroOcean Apr 15, 2026
b8091c4
Remove local dead code and small API duplication
MoneroOcean Apr 15, 2026
bf7cc20
Normalize top-level module naming
MoneroOcean Apr 15, 2026
a66bdfe
Align rename text and cover pool instanceId
MoneroOcean Apr 15, 2026
40529ef
Honor ephemeral remote_share test ports
MoneroOcean Apr 15, 2026
6153412
Refactor duplicated admin script boilerplate
MoneroOcean Apr 15, 2026
e6e4179
Fix long runner cache cleanup gaps
MoneroOcean Apr 15, 2026
3b312eb
Handle missing cache keys during cleanup
MoneroOcean Apr 15, 2026
ef5cd48
Set default LMDB size to 20GB
MoneroOcean Apr 15, 2026
a166ca5
Refactor block_manager runtime and tests
MoneroOcean Apr 15, 2026
749be8e
Refine pool runtime event logging
MoneroOcean Apr 15, 2026
bdd5531
Add live block submit suite coverage
MoneroOcean Apr 16, 2026
801d8f4
Back off remote share pending job retries
MoneroOcean Apr 16, 2026
77944da
Drop unresolved zero-hash block submits
MoneroOcean Apr 16, 2026
5db19fa
Log transport errors without stack traces
MoneroOcean Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ build/Release
# Dependency directories
node_modules
jspm_packages
.cache/live-miners
test-artifacts/live-pool

# Optional npm cache directory
.npm
Expand Down
228 changes: 104 additions & 124 deletions README.md

Large diffs are not rendered by default.

35 changes: 0 additions & 35 deletions SQL_MIGRATIONS.md

This file was deleted.

2 changes: 2 additions & 0 deletions block_notify.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/bash
/bin/echo 18081 | /bin/nc -N localhost 2223
79 changes: 79 additions & 0 deletions block_share_dumps/calc_mo_cvs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
"use strict";

if (Boolean(process.stdin.isTTY) || process.argv.length !== 3) {
console.log("Usage: unxz -c <block hash>.cvs.xz | node calc_mo_cvs.js <your Monero wallet address>");
console.log(" wget -O - https://block-share-dumps.moneroocean.stream/<block hash>.cvs.xz | unxz -c | node calc_mo_cvs.js <your Monero wallet address>");
process.exit(1);
}

const my_wallet = process.argv[2].slice(-16);

let stdin = "";

process.stdin.on('data', function(data) {
stdin += data.toString();
});

function human_hashrate(hashes) {
const power = Math.pow(10, 2 || 0);
if (hashes > 1000000000000) return String(Math.round((hashes / 1000000000000) * power) / power) + " TH/s";
if (hashes > 1000000000) return String(Math.round((hashes / 1000000000) * power) / power) + " GH/s";
if (hashes > 1000000) return String(Math.round((hashes / 1000000) * power) / power) + " MH/s";
if (hashes > 1000) return String(Math.round((hashes / 1000) * power) / power) + " KH/s";
return Math.floor( hashes || 0 ) + " H/s"
};

process.stdin.on('end', function() {
let pplns_window = 0;
let oldest_timestamp = 0;
let newest_timestamp = 0;

let my_share_count = 0;
let my_xmr_diff = 0;
let my_xmr_diff_payed = 0;
let my_coin_raw_diff = {};
let my_coin_xmr_diff = {};

for (let line of stdin.split("\n")) {
if (line.substring(0, 1) == "#") continue;
const items = line.split('\t');
if (items.length < 7) {
console.error("Skipped invalid line: " + line);
continue;
}
const wallet = items[0];
const timestamp = parseInt(items[1], 16);
const raw_diff = parseInt(items[2]);
const count = parseInt(items[3]);
const coin = items[4];
const xmr_diff = parseInt(items[5]);
const xmr_diff_payed = items[6] == "" ? xmr_diff : parseInt(items[6]);
pplns_window += xmr_diff;
if (!oldest_timestamp || timestamp < oldest_timestamp) oldest_timestamp = timestamp;
if (newest_timestamp < timestamp) newest_timestamp = timestamp;
if (wallet === my_wallet) {
my_share_count += count;
my_xmr_diff += xmr_diff;
my_xmr_diff_payed += xmr_diff_payed;
if (!(coin in my_coin_raw_diff)) my_coin_raw_diff[coin] = 0;
my_coin_raw_diff[coin] += raw_diff;
if (!(coin in my_coin_xmr_diff)) my_coin_xmr_diff[coin] = 0;
my_coin_xmr_diff[coin] += xmr_diff;
}
}

console.log("PPLNS window size: \t" + ((newest_timestamp - oldest_timestamp)/1000/60/60).toFixed(2) + " hours");
console.log("PPLNS window size: \t" + pplns_window + " xmr hashes");
console.log("Pool XMR normalized hashrate: \t" + human_hashrate(pplns_window / (newest_timestamp - oldest_timestamp) * 1000));
console.log("");
console.log("Your submitted shares: \t" + my_share_count);
console.log("Your payment: \t" + ((my_xmr_diff_payed / pplns_window) * 100).toFixed(6) + "% (" + my_xmr_diff_payed + " xmr hashes)");
console.log("Your XMR normalized hashrate: \t" + human_hashrate(my_xmr_diff_payed / (newest_timestamp - oldest_timestamp) * 1000));
console.log("");
console.log("You mined these coins:");
for (let coin of Object.keys(my_coin_raw_diff).sort()) {
console.log("\t" + coin + ": " + my_coin_raw_diff[coin] + " raw coin hashes (" + ((my_coin_xmr_diff[coin] / my_xmr_diff) * 100).toFixed(6) + "% of XMR normalized hashrate)");
}

process.exit(0);
});
75 changes: 75 additions & 0 deletions block_share_dumps/calc_mo_cvs_top.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
"use strict";

if (Boolean(process.stdin.isTTY) || process.argv.length !== 2) {
console.log("Usage: unxz -c <block hash>.cvs.xz | node calc_mo_cvs_top.js");
console.log(" wget -O - https://block-share-dumps.moneroocean.stream/<block hash>.cvs.xz | unxz -c | node calc_mo_cvs_top.js");
process.exit(1);
}

let stdin = "";

process.stdin.on('data', function(data) {
stdin += data.toString();
});

function human_hashrate(hashes) {
const power = Math.pow(10, 2 || 0);
if (hashes > 1000000000000) return String(Math.round((hashes / 1000000000000) * power) / power) + " TH/s";
if (hashes > 1000000000) return String(Math.round((hashes / 1000000000) * power) / power) + " GH/s";
if (hashes > 1000000) return String(Math.round((hashes / 1000000) * power) / power) + " MH/s";
if (hashes > 1000) return String(Math.round((hashes / 1000) * power) / power) + " KH/s";
return Math.floor( hashes || 0 ) + " H/s"
};

process.stdin.on('end', function() {
let pplns_window = 0;
let oldest_timestamp = 0;
let newest_timestamp = 0;

let wallets = {};

let my_share_count = 0;
let my_xmr_diff = 0;
let my_xmr_diff_payed = 0;
let my_coin_raw_diff = {};
let my_coin_xmr_diff = {};

for (let line of stdin.split("\n")) {
if (line.substring(0, 1) == "#") continue;
const items = line.split('\t');
if (items.length < 7) {
console.error("Skipped invalid line: " + line);
continue;
}
const wallet = items[0];
const timestamp = parseInt(items[1], 16);
const raw_diff = parseInt(items[2]);
const count = parseInt(items[3]);
const coin = items[4];
const xmr_diff = parseInt(items[5]);
const xmr_diff_payed = items[6] == "" ? xmr_diff : parseInt(items[6]);
pplns_window += xmr_diff;
if (!oldest_timestamp || timestamp < oldest_timestamp) oldest_timestamp = timestamp;
if (newest_timestamp < timestamp) newest_timestamp = timestamp;
if (!(wallet in wallets)) wallets[wallet] = {
share_count: 0,
xmr_diff: 0,
xmr_diff_payed: 0,
coin_raw_diff: {},
coin_xmr_diff: {},
};
wallets[wallet].share_count += count;
wallets[wallet].xmr_diff += xmr_diff;
wallets[wallet].xmr_diff_payed += xmr_diff_payed;
if (!(coin in wallets[wallet].coin_raw_diff)) wallets[wallet].coin_raw_diff[coin] = 0;
wallets[wallet].coin_raw_diff[coin] += raw_diff;
if (!(coin in wallets[wallet].coin_xmr_diff)) wallets[wallet].coin_xmr_diff[coin] = 0;
wallets[wallet].coin_xmr_diff[coin] += xmr_diff;
}

for (let wallet of Object.keys(wallets).sort((a, b) => (wallets[a].xmr_diff < wallets[b].xmr_diff) ? 1 : -1)) {
console.log(wallet + ": " + wallets[wallet].xmr_diff);
}

process.exit(0);
});
21 changes: 1 addition & 20 deletions coinConfig.json
Original file line number Diff line number Diff line change
@@ -1,28 +1,9 @@
{
"xmr": {
"funcFile": "./lib/coins/xmr.js",
"paymentFile": "./payment_systems/xmr.js",
"funcFile": "./lib/coins/index.js",
"sigDigits": 1000000000000,
"shapeshift": "xmr_btc",
"xmrTo": true,
"name": "Monero",
"mixIn": 4,
"shortCode": "XMR"
},
"krb": {
"funcFile": "./lib/coins/krb.js",
"paymentFile": "./payment_systems/krb.js",
"sigDigits": 1000000000000,
"name": "Karbowanec",
"mixIn": 4,
"shortCode": "KRB"
},
"aeon": {
"funcFile": "./lib/coins/aeon.js",
"paymentFile": "./payment_systems/aeon.js",
"sigDigits": 1000000000000,
"name": "Aeon Coin",
"mixIn": 4,
"shortCode": "AEON"
}
}
3 changes: 3 additions & 0 deletions config_example.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
{
"pool_id": 0,
"eth_pool_support": 1,
"worker_num": 0,
"bind_ip": "127.0.0.1",
"hostname": "testpool.com",
"db_storage_path": "CHANGEME",
"verify_shares_host": null,
"coin": "xmr",
"mysql": {
"connectionLimit": 20,
Expand Down
91 changes: 0 additions & 91 deletions debug_scripts/block_add.js

This file was deleted.

19 changes: 0 additions & 19 deletions debug_scripts/block_locker.js

This file was deleted.

Loading