Commit Graph

88 Commits

Author SHA1 Message Date
SChernykh f67009f133 Added path bitmap to get_merkle_proof 2024-05-10 15:34:30 +02:00
SChernykh fd953a0b26 Tari: serialize pow_data WIP 2024-05-09 20:35:41 +02:00
SChernykh 52b7c4fb25 Merge branch 'master' into merge-mining 2024-03-07 18:42:45 +01:00
SChernykh 29d84e3bcf Fixed data race in tx mempool 2024-03-07 17:48:49 +01:00
SChernykh 94496c3dde Merge branch 'master' into merge-mining 2024-01-31 20:01:13 +01:00
SChernykh 8a2a9a99a9 Fixed cppcheck error 2024-01-31 20:00:55 +01:00
SChernykh f95d366881 Merge branch 'master' into merge-mining 2024-01-02 14:26:32 +01:00
SChernykh 1e1c3ad6e9 Updated copyright 2024-01-02 14:12:16 +01:00
SChernykh 18e5e6ab0f Merge branch 'master' into merge-mining 2023-12-11 17:30:32 +01:00
SChernykh 658d756120 Fixed Merkle proof generation for aux chains 2023-12-10 19:24:05 +01:00
SChernykh 38417b0fd5 Fixed BlockTemplate::get_block_template_blob
submit_block was broken because of it
2023-12-10 17:11:11 +01:00
SChernykh 4362ee490c Multiple bugfixes 2023-12-10 15:40:05 +01:00
SChernykh 9ad9821e2a Fix: set timestamp for locally found blocks 2023-12-10 00:41:49 +01:00
SChernykh 1bf594d9e2 Refactored keccak interface 2023-11-24 14:20:11 +01:00
SChernykh 13087dd45e Submit found aux blocks 2023-11-20 22:22:37 +01:00
SChernykh d697d0017e Submit the aux block when the difficulty is met (WIP) 2023-11-20 00:56:48 +01:00
SChernykh 7e0b958207 Propagate aux difficulty to miners 2023-11-19 19:48:23 +01:00
SChernykh fc31ac6cd0 Fixed Merkle tree root update 2023-10-25 22:54:25 +02:00
SChernykh 0b711cbe65 Init and update merkle tree root 2023-10-25 20:06:12 +02:00
SChernykh 2d1158af64 Store Merkle tree root in the merge mining tag 2023-10-25 15:49:25 +02:00
SChernykh ec35c74e5f Init merge mining tag properly 2023-10-25 00:14:09 +02:00
SChernykh 4e55f53fb4 Notify about new P2Pool versions 2023-10-08 18:52:06 +02:00
SChernykh 76c4573c39 CI: cleanup build warnings
Tests: fixed "unused const variable" warning
CMakeLists.txt: fixed deprecation warnings
2023-08-16 14:20:23 +02:00
SChernykh 9d6f232dd1 Tweaked block_seen logic 2023-05-29 14:13:11 +02:00
SChernykh 8bf045974f BlockTemplate code refactoring
- Moved block constants to one place
- Tuned block template max transaction limiter
2023-04-21 11:13:48 +02:00
SChernykh c2d8c806d2 Removed fork code, only v2 is left 2023-03-19 17:19:25 +01:00
SChernykh e53fd7a062 Tests: fixed block_template test volatility
Hashes should stay the same from now on.
2023-03-01 09:20:09 +01:00
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