Commit Graph

155 Commits

Author SHA1 Message Date
Matt Hess d509947157 Fix potential division by zero in stratum target calculation, Refactored the nested division expression, intermediate variables with safety checks, prevents potential undefined
behavior that was causing UBSAN crashes
2025-12-19 00:29:18 +00:00
Matt Hess 0a7d287c40 Moved verbose DEBUG and diagnostic logging from level 0 to level 6 to reduce console spam during normal operation 2025-12-08 23:56:25 +00:00
Matt Hess 728d6c2cbf Fix Carrot v1 protocol TX handling for peer synchronization
Root cause: Merkle verification failures (error 659) and peer bans occurred
because protocol TX was not consistently present in m_transactions[1].

Parser fix (pool_block_parser.inl):
- Skip dummy transactions[0] entry when populating m_transactions
- Add protocol TX computation after parsing for Carrot v1 blocks

Block template fix (block_template.cpp):
- Insert protocol TX at position [1] during block creation in update()
- Insert protocol TX during select_mempool_transactions()

get_pow_hash fix (pool_block.cpp):
- Ensure protocol TX is populated before serialize_mainchain_data()

The protocol TX must be at m_transactions[1] before ANY serialization
occurs, otherwise sender and receiver compute different merkle roots.

Tested: Multiple restart cycles with two nodes, no bans, chains stay synced.
2025-12-07 23:57:46 +00:00
SChernykh 4e690feefb Support .onion domains for addpeers command and --addpeers option (requires SOCKS5 proxy) 2025-10-18 15:47:06 +02:00
SChernykh 0184a3139c CI: revised clang-tidy list of checks 2025-09-25 18:46:22 +02:00
SChernykh 04d195d5cd Added support for mining to a subaddress 2025-09-22 14:24:11 +02:00
sech1 ecc33cfebb Stratum: fixed stats counters when full share validation is on 2025-09-09 17:24:04 +02:00
sech1 bdd34c5f56 Fixed on_share_found background job counter 2025-09-09 11:23:25 +02:00
gavinbarnard 068b286a88 full share validation via cmdline option 2025-09-06 18:05:11 +00:00
SChernykh 964f4c8065 Updated copyright 2025-07-14 20:30:33 +02:00
WHR d289526f45 Stratum: update hash rate data on new block template, even when no workers connected 2025-06-24 16:32:16 +08:00
WHR 009fa0f474 API: add 'last_share_found_time' in local/stratum 2025-06-14 10:26:07 +08:00
WHR 6c4520481b Make ban time of stratum clients configurable via '--stratum-ban-time' option 2025-06-10 20:08:09 +08:00
SChernykh e0c1d9377c P2Pool-nano support 2025-05-28 15:04:11 +02:00
SChernykh 1bd9ff1379 Stratum local API: added wallet address 2025-05-15 16:32:44 +02:00
SChernykh dd2812f1e5 Fixed data race 2024-12-17 16:19:40 +01:00
SChernykh 92dfde8a3e Stratum: fixed TLS display in workers command 2024-12-17 15:41:55 +01:00
SChernykh 6dcdbe0f15 Stratum: display stratum shares separately
To avoid confusion between P2Pool shares and Stratum shares.
2024-12-17 15:09:39 +01:00
SChernykh a4459d6207 Added a command line parameter to disable Stratum HTTP 2024-12-17 11:39:49 +01:00
SChernykh cf325e0e76 Updated rapidjson 2024-12-02 17:44:08 +01:00
SChernykh 94da2e8dff Fixed cppcheck errors 2024-12-01 15:31:43 +01:00
SChernykh d7cd9d24fc Fixed cppcheck errors 2024-11-30 12:28:31 +01:00
SChernykh 86962eb7aa Fixed a bug with Letsencrypt certs
One of internal buffers was too small
2024-11-27 19:49:05 +01:00
SChernykh 996bb1baba Fixed compilation error 2024-10-31 18:51:05 +01:00
SChernykh a3006cb51a Stratum: check found P2Pool shares one at a time
Parallel checks could result in a deadlock
2024-10-31 17:18:24 +01:00
SChernykh 02006e1b50 Stratum: disconnect miners when not connected to P2Pool network 2024-10-18 21:23:51 +02:00
SChernykh 93062e4341 Stratum: fixed response to HTTP GET/HEAD requests 2024-09-04 21:43:18 +02:00
SChernykh a003486b4a Stratum: fixed an unaligned memory read 2024-09-01 00:08:45 +02:00
SChernykh 1a75b201fd Stratum: don't show the shutdown warning for low diff shares 2024-08-25 11:53:20 +02:00
SChernykh ad49afb34b Stratum: detect HTTP and send a response 2024-08-08 18:31:17 +02:00
SChernykh c967c84e0e Allow TLS support without GRPC 2024-08-06 18:42:00 +02:00
SChernykh 127dcc04bf Stratum: added TLS support 2024-08-05 22:39:28 +02:00
SChernykh 64a199be6d Stratum: fixed starting diff calculation 2024-07-23 13:32:43 +02:00
SChernykh b16cf00dae Stratum: faster JSON parsing 2024-07-01 23:29:39 +02:00
SChernykh 5e8da4e672 Fixed merge mining with multiple chains 2024-06-11 18:40:30 +02:00
SChernykh 33e1ebd3fe Calculate hashing blobs in parallel
Improved performance with high number of connected miners.
2024-05-30 16:53:32 +02:00
SChernykh 710f6c2eb7 Submit merge mined blocks asynchronously 2024-05-20 15:22:03 +02:00
SChernykh ad04fd13ae Merge branch 'master' into merge-mining 2024-04-03 11:40:30 +02:00
SChernykh adf3f5df19 Use 500k starting difficulty for autodiff 2024-04-03 10:58:35 +02:00
SChernykh fdb2ab19ab Added Tari gRPC client stub 2024-02-06 21:04:19 +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 4362ee490c Multiple bugfixes 2023-12-10 15:40:05 +01:00
SChernykh 6a7bbfabcd Merge branch 'master' into merge-mining 2023-11-26 10:49:43 +01:00
SChernykh 8493dbc47b Fixed cppcheck errors 2023-11-26 09:52:24 +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 8270e0898b StratumServer: fixed memory leak on shutdown 2023-10-02 08:19:28 +02:00
SChernykh 27375e7382 StratumServer: removed an unnecessary check 2023-09-29 11:55:25 +02:00