Commit graph

578 commits

Author SHA1 Message Date
SChernykh
2807f9a51c TCPServer: disabled debug check in release builds 2023-02-27 19:14:03 +01:00
SChernykh
03a3423da0 StratumServer: fixed data race 2023-02-27 18:58:56 +01:00
SChernykh
12a011a9ff TCPServer: removed unnecessary mutex 2023-02-27 15:59:42 +01:00
SChernykh
7a1afc7a95 Fixed cppcheck error 2023-02-26 20:12:00 +01:00
SChernykh
fadc5055b2 Updated --no-autodiff description 2023-02-21 09:17:42 +01:00
SChernykh
1c908c261d TCPServer: refactored memory allocation 2023-02-17 08:47:52 +01:00
SChernykh
39216df8eb CI: added openbsd build 2023-02-16 15:16:24 +01:00
SChernykh
ed59579a9d Don't reset m_cumulativeFoundSharesDiff 2023-02-13 09:41:11 +01:00
SChernykh
2aa7389c3f Fix: never reset m_cumulativeHashes
Hashrates in stratum status can be wrong if `m_cumulativeHashes` decreases.
2023-02-10 17:55:26 +01:00
SChernykh
e64a0acfb3 p2pool v3.0 2023-01-31 18:17:18 +01:00
SChernykh
1cfacf4118 Code cleanup and fixes 2023-01-28 09:58:32 +01:00
SChernykh
975679ef87 Show actual worker difficulty in workers command 2023-01-27 22:09:17 +01:00
SChernykh
25d083ef25 Show Monero node in status 2023-01-27 17:42:00 +01:00
SChernykh
c7ba11c607 Retry getaddrinfo with IPv4 only after an error 2023-01-27 10:29:04 +01:00
SChernykh
8876af53d8 SideChain: fixed potential division by 0 2023-01-26 21:42:15 +01:00
SChernykh
33a592ee52 Fixed v2 signaling 2023-01-25 14:43:55 +01:00
SChernykh
a574e68bb7 StratumServer: check for bans before checking shares 2023-01-25 11:36:52 +01:00
SChernykh
001c9e937d Fixed use of destroyed object 2023-01-24 08:19:13 +01:00
SChernykh
f01bd88edd Fixed PPLNS window calculation 2023-01-24 07:59:36 +01:00
SChernykh
8700edb330 Miner: added m_sharesFailed to api data 2023-01-23 16:17:17 +01:00
SChernykh
9b686673ae Fixed m_sharesFailed initialization 2023-01-23 13:13:08 +01:00
SChernykh
c841a2d2a9 Set new testnet hardfork date 2023-01-22 16:24:36 +01:00
SChernykh
5e373b5304 Miner: count failed shares 2023-01-22 09:28:23 +01:00
SChernykh
d332f6cf23 Fixed PPLNS window display in status 2023-01-21 23:09:57 +01:00
SChernykh
1c4806e0d7 Fixed m_txkeySecSeed in block template update 2023-01-21 22:48:51 +01:00
SChernykh
f5ac485ac8 TCPServer: optimized internal write buffers 2023-01-20 17:03:59 +01:00
SChernykh
595196b5ec Reduced transaction time-to-include delay
Based on data from https://rucknium.me/posts/monero-pool-transaction-delay/
> 95 percent all transactions arrived at all five Monero nodes within a five-second interval.
2023-01-20 13:14:58 +01:00
SChernykh
85d177d394 Miner: update extra_nonce on each new block 2023-01-19 11:22:22 +01:00
SChernykh
4ee8890166 Fixed status command output 2023-01-19 00:04:35 +01:00
SChernykh
5e8858c40e Fixed warning level 2023-01-18 20:57:45 +01:00
SChernykh
420cb71990 Fixed min difficulty setting 2023-01-18 16:16:35 +01:00
SChernykh
451778d704 Optimized RNG usage 2023-01-17 16:24:15 +01:00
SChernykh
c855bb769a PoolBlock: removed unnecessary mutex 2023-01-17 13:20:09 +01:00
SChernykh
f95d56d1eb Fixed wrong type in uv_walk 2023-01-17 08:15:53 +01:00
SChernykh
fe5e209eb1 Don't limit min difficulty on testnet 2023-01-16 18:34:48 +01:00
SChernykh
f206e4b334 Testnet fork on January 21st 2023-01-16 15:36:21 +01:00
SChernykh
5bd518da4b Optimized BlockTemplate::update() 2023-01-16 11:17:41 +01:00
SChernykh
ec8e40907d Fixed a crash in status command 2023-01-15 22:20:06 +01:00
SChernykh
e828709090 Optimized SideChain::get_outputs_blob() 2023-01-15 22:00:44 +01:00
SChernykh
d4329ae594 Show file:line where panic() was called from 2023-01-14 12:37:08 +01:00
SChernykh
2c4c2b8469 Fixed a rare crash on exit 2023-01-13 18:25:04 +01:00
SChernykh
14f667de74 Support dynamic PPLNS window in status 2023-01-13 17:43:56 +01:00
SChernykh
578baeae96 API: added pplnsWeight to pool stats 2023-01-13 16:01:35 +01:00
SChernykh
1ad3fdfd46 Added more errors checks to p2pool_api 2023-01-13 15:16:06 +01:00
SChernykh
8e7df958b8 Use extra_nonce to signal hardfork readiness 2023-01-12 10:19:29 +01:00
SChernykh
4f2ad9a93c Optimized get_shares 2023-01-10 22:17:17 +01:00
SChernykh
850eb8e6e0 Fixed submit_block 2023-01-09 22:27:06 +01:00
SChernykh
47f551c046 Randomize output order for P2Pool payouts 2023-01-09 20:07:11 +01:00
SChernykh
ae6747c82d Initialize tx key from previous blocks 2023-01-09 16:14:33 +01:00
SChernykh
1bd04c2840 Initialize tx key from random seed 2023-01-09 11:28:47 +01:00
SChernykh
11e4c459c9 pub/sec tx key cleanup 2023-01-09 01:15:06 +01:00
SChernykh
647319b731 Added missing check to update_chain_tip 2023-01-09 00:33:37 +01:00
SChernykh
e0913f9068 Speed up calc_sidechain_hash 2023-01-08 23:29:54 +01:00
SChernykh
af0fa872ae Set sidechain extra (duplicate shares fix) 2023-01-08 21:12:09 +01:00
SChernykh
1ce8f28105 Added sidechain extra 2023-01-08 17:07:28 +01:00
SChernykh
a525f34fec Speed up calc_miner_tx_hash a lot
Cache keccak state and update it for new extra_nonce in O(1) time instead of O(N). It reduces the number `keccakf` calls from 30-150 to just 2-3. Time to generate 10,000 hashing blobs is reduced from 0.75s to 0.03s.
2023-01-08 14:17:44 +01:00
SChernykh
632f3faac5 Refactored keccak interface
- Allow calculating keccak hash in steps
- Only allow 32 and 200 byte final hashes
2023-01-08 13:06:20 +01:00
SChernykh
4f34c4466a Dynamic PPLNS window 2023-01-08 00:47:03 +01:00
SChernykh
ccc5117172 Track shares that failed to be added 2023-01-07 15:50:02 +01:00
SChernykh
b346b93285 Updated copyright 2023-01-04 13:07:55 +01:00
SChernykh
2b61c1d90f p2pool v2.7 2023-01-03 15:53:03 +01:00
SChernykh
baf5a64c51 Add high fee transactions immediately 2023-01-02 14:32:13 +01:00
SChernykh
260564cff1 Check for NO_COLOR before logging starts 2023-01-01 22:12:16 +01:00
SChernykh
726224b253 Support NO_COLOR environment variable 2023-01-01 11:47:13 +01:00
SChernykh
421e087d81 Fixed UV thread pool size 2022-12-26 19:52:15 +01:00
SChernykh
a1ec97a221 Fixed submit_block error logging 2022-12-25 16:23:57 +01:00
SChernykh
d151ed9354 Miner: fixed share counter reset logic 2022-12-22 21:53:04 +01:00
SChernykh
7502481f26 Fixed cppcheck issues 2022-12-22 21:00:59 +01:00
SChernykh
76e7e4956d Miner: fixed share counting during initial sync 2022-12-22 20:53:23 +01:00
SChernykh
15d25bca27 Fixed data race 2022-12-22 20:30:20 +01:00
SChernykh
dffc8bcea0 Fixed cppcheck issues 2022-12-22 14:08:49 +01:00
SChernykh
a61966ed61 Don't count shares that were found during sync 2022-12-22 11:48:50 +01:00
SChernykh
e6d77a40e2 Check block major version in deserialize() 2022-12-19 10:29:29 +01:00
SChernykh
edcb933874 Call get_miner_data again after startup is done
Startup sequence can take a while, so miner data can change - new transactions added, or a new block found by the network.
2022-12-18 11:46:18 +01:00
SChernykh
be18ad4177 Made payout messages more visible 2022-12-18 11:06:38 +01:00
SChernykh
07a5b191bb Fixes for different BSD variants 2022-12-17 12:56:32 +01:00
SChernykh
da12b329be Check the block id returned by BLOCK_RESPONSE 2022-12-14 14:24:09 +01:00
SChernykh
3902612c4b P2PServer: show more data for connected peers 2022-12-09 11:31:05 +01:00
SChernykh
9bce415523 Added alternative command line parameter names 2022-12-03 21:21:02 +01:00
SChernykh
3e4f877ec0 Display software name in peers list 2022-12-02 15:43:20 +01:00
SChernykh
67bbfea87d p2pool v2.6 2022-11-28 12:44:30 +01:00
SChernykh
220c6939b1 Ignore shares from peers who have lagging monerod
More than 10 seconds lag is unacceptable
2022-11-28 08:29:38 +01:00
SChernykh
fd27ea0e8f Console: check for arguments when required 2022-11-25 21:58:25 +01:00
SChernykh
4bb1982806 Added BlockTemplate tests 2022-11-24 21:38:15 +01:00
SChernykh
9283677a2b Sync test: log more data in the end 2022-11-24 11:06:18 +01:00
SChernykh
d4180a5084 Fixed Coverity issue 2022-11-24 08:43:13 +01:00
SChernykh
2721b16c46 Miner: fixed data race 2022-11-24 08:04:53 +01:00
SChernykh
f1ff6a21ee Revert "Broadcast uncle blocks at the same height"
This reverts commit 530079b8a5.
2022-11-23 17:59:28 +01:00
SChernykh
530079b8a5 Broadcast uncle blocks at the same height
To reduce orphan block rate
2022-11-23 17:55:11 +01:00
SChernykh
2ca428bbbb BlockTemplate: non-ambiguous transaction order
Different nodes could pick different transactions with the same fee/byte which hurted compact broadcasts efficiency
2022-11-22 23:05:17 +01:00
SChernykh
8a27a8cce4 Added a safety check to block template update 2022-11-22 15:23:32 +01:00
SChernykh
7eec4d742c P2PServer: removed an unnecessary lock 2022-11-22 09:57:50 +01:00
SChernykh
3f66975e1b Optimized transaction picking algorithm 2022-11-21 17:09:56 +01:00
SChernykh
b7f8c973f4 Refined transaction picking algorithm 2022-11-21 08:08:31 +01:00
SChernykh
72e414b2b7 Fixed struct alignment 2022-11-16 18:48:46 +01:00
SChernykh
79a31ce57c SideChain: reduce lock scope in get_outputs_blob 2022-11-16 14:23:13 +01:00
SChernykh
488ed8e562 Added more 128 bit calculations 2022-11-16 10:36:46 +01:00
SChernykh
b3bce1651b SideChain: use full 128 bits in get_difficulty 2022-11-15 16:39:39 +01:00
SChernykh
cc2f031a32 Fixed a race when stopping logger 2022-11-15 11:07:50 +01:00
SChernykh
d0eea1bf91 Fixed libuv init/shutdown sequence 2022-11-14 23:35:59 +01:00