Commit Graph

61 Commits

Author SHA1 Message Date
SChernykh
1cfacf4118 Code cleanup and fixes 2023-01-28 09:58:32 +01:00
SChernykh
f01bd88edd Fixed PPLNS window calculation 2023-01-24 07:59:36 +01:00
SChernykh
1c4806e0d7 Fixed m_txkeySecSeed in block template update 2023-01-21 22:48:51 +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
451778d704 Optimized RNG usage 2023-01-17 16:24:15 +01:00
SChernykh
5bd518da4b Optimized BlockTemplate::update() 2023-01-16 11:17:41 +01:00
SChernykh
850eb8e6e0 Fixed submit_block 2023-01-09 22:27:06 +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
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
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
baf5a64c51 Add high fee transactions immediately 2023-01-02 14:32:13 +01:00
SChernykh
4bb1982806 Added BlockTemplate tests 2022-11-24 21:38:15 +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
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
47ff7e228e Added code to deserialize compact blobs 2022-11-09 16:21:31 +01:00
SChernykh
2e747beda6 Added sidechain height to SHARE FOUND log 2022-11-08 14:27:03 +01:00
SChernykh
74b5ab1798 Force update block template after 30 seconds
To get new transactions in
2022-11-04 07:47:07 +01:00
SChernykh
02405bb8ff Workaround for duplicate sidechain IDs
Place transactions in the block template in random order, so two different p2pool nodes mining to the same wallet will get different sidechain IDs with high probability if there's more than 2-3 transactions in mempool.
2022-10-10 21:50:33 +02:00
SChernykh
077837054b Optimized TxOutput struct 2022-10-04 21:03:56 +02:00
SChernykh
eabf856dbd Removed redundant m_sideChainData 2022-10-04 15:49:58 +02:00
SChernykh
6a66615f37 Removed redundant m_mainChainData 2022-10-03 18:42:32 +02:00
SChernykh
c49e8d4770 Merge branch 'proxy' 2022-09-04 09:57:32 +02:00
SChernykh
86156f3fec SOCKS5 proxy support 2022-09-03 22:35:38 +02:00
SChernykh
fec826b10e Changed spammy warning to level 5 2022-09-01 10:09:23 +02:00
SChernykh
30861bbf91 Speedup SideChain::get_outputs_blob() 2022-08-15 13:48:21 +02:00
SChernykh
14bbf96feb Enforce deterministic tx keys starting from v15 2022-06-28 10:44:16 +02:00
SChernykh
9e7666d12f Fixed data races 2022-05-28 21:46:50 +02:00
SChernykh
d84bef8f14 Added block reward share percent to miner api 2022-05-26 11:08:16 +02:00
SChernykh
2c70bf8616 View tags support
See http://github.com/monero-project/monero/pull/8061
2022-04-09 00:56:42 +02:00
SChernykh
a2afa29052 Updated copyright 2022-03-30 14:42:26 +02:00
SChernykh
a2d3dbad5e Use old bock template when update fails 2022-03-30 10:11:35 +02:00
SChernykh
915988d694 Added logging for the extra_nonce fix 2022-03-30 07:59:59 +02:00
SChernykh
a7aed2f221 Fixed miner tx creation 2022-03-28 11:28:56 +02:00
SChernykh
aada1bb5cc Use chrono::steady_clock for internal timestamps 2022-03-23 11:30:38 +01:00
SChernykh
e2931f94b5 Added embedded miner 2022-01-22 23:30:19 +01:00
SChernykh
f9def6cb73 Added "calc_pow" RPC support 2021-11-21 09:12:21 +01:00
SChernykh
9e90e988fa Refactored array_size to make it always constexpr 2021-10-14 16:46:49 +02:00
SChernykh
f3024d3556 StratumServer: submit Monero block as soon as possible
1-3 ms saved when a block is found
2021-10-13 18:57:21 +02:00
SChernykh
8aa9e54dc4 BlockTemplate: wait for 10 seconds before including new transactions 2021-09-14 12:54:42 +02:00
SChernykh
a36825424b Fixed some Coverity reports 2021-09-06 09:02:35 +02:00
SChernykh
b31adbd5ae Added macOS build 2021-09-05 12:10:40 +02:00