Matt Hess
9e36f2dfcf
Fix clang-tidy narrowing conversion warnings in protocol_tx splice
2026-02-05 20:53:17 +00:00
Matt Hess
e12419d79b
Splice real protocol_tx at submit time, not template build time
2026-02-05 14:57:48 +00:00
Matt Hess
221fc2a080
Update new version notification URL
2026-01-21 01:47:20 +00:00
Matt Hess
5d196ade1f
Enhance mainchain reorg handling with mining pause and robust recovery
2026-01-14 18:31:37 +00:00
Matt Hess
fe1f36c7fe
Increase genesis wait, add 2nd seed, resolve circular checkpoint request issue
2026-01-14 05:30:33 +00:00
Matt Hess
6c8b8894ee
Fix TSan race on m_p2pServer during startup, update curl to 8.18.0
2026-01-12 21:48:10 +00:00
Matt Hess
04e9e29aea
● Port upstream p2pool fixes from v4.13
...
- RandomX: send seed hash in calc_pow RPC for faster daemon response
- P2P: fix onion connection counter decrement for incomplete connections
- P2P: give --addpeers peers a 2-second headstart before other connections
2026-01-03 18:16:57 +00:00
Matt Hess
066a30bfa7
cleaned up zmq timeout msg, made it less alarming, more poisson friendly
2026-01-03 18:02:35 +00:00
Matt Hess
5ce7dbf9f0
Added empty check for pruned_blob before debug deserialize, Added exclusions for no connections to other p2pool nodes, m_transactionHashes is empty, calc_miner_tx_hash fast path
2025-12-24 18:35:01 +00:00
Matt Hess
e15484c14c
Fix sync test crash: add null terminators to seed_nodes
2025-12-24 05:05:22 +00:00
Matt Hess
33bb2a81a6
Added redis backend support for storage alternative to empower nextgen observer
2025-12-22 19:12:25 +00:00
Matt Hess
4ddfa22d1b
Fixed implicit widening multiplication error, Removed unused "this", Fixed narrowing conversion, Made m_verified and m_invalid mutable, Removed else-after-return, Removed unused num_full_blocks and last_block_size var all to make clang-tidy happy
2025-12-18 00:52:40 +00:00
Matt Hess
0c31e9ae5f
Fix checkpoint exchange to support rolling upgrades, fixed silent lag startup period, Mixed v4.12/v4.13 peers coexist
2025-12-17 17:48:20 +00:00
Matt Hess
79e34fdfbb
fixed version handshake and display
2025-12-17 02:29:17 +00:00
Matt Hess
8c6961ca71
Fixed race condition with mainchain prefetch on startup, Version-gated checkpoint exchange for backward compatibility, Version bump to v4.13 with protocol 1.5, Added CAP exchange protocol (CHECKPOINT_REQUEST/CHECKPOINT_RESPONSE)
2025-12-17 01:54:52 +00:00
Matt Hess
11b545e91b
Add CAP exchange protocol, Deadlock fix, Sync stuck fix with retry mechanism
2025-12-17 00:29:41 +00:00
Matt Hess
940f1cabe8
Revert "Remove compact/pruned blob code - it displeases the carrot"
...
This reverts commit d5a8bbcc4a .
2025-12-11 02:26:30 +00:00
Matt Hess
d5a8bbcc4a
Remove compact/pruned blob code - it displeases the carrot
2025-12-10 15:56:49 +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
00fb078004
Implement genesis reconciliation protocol for sidechain stability
...
Problem: P2Pool nodes starting at different times or experiencing network
issues would create independent genesis blocks, resulting in incompatible
chains. Nodes would ban each other for invalid blocks that were actually
valid on a different chain. Cache resume after restart frequently failed
due to genesis mismatch between nodes.
Solution: Oldest compatible genesis wins protocol that coordinates
genesis selection across peers before mining begins.
New P2P message GENESIS_INFO exchanges:
- Genesis block hash
- Genesis timestamp
- Genesis mainchain height
- Protocol version
Startup behavior:
- Wait up to 90 seconds for peer genesis info (with progress logging)
- Adopt oldest genesis from compatible peers
- Only create own genesis if no peers respond
Late joiner reconciliation:
- Running nodes that receive older genesis from new peer will purge
their sidechain and re-sync to the older chain
- Cache files deleted on purge to prevent reload of stale blocks
Protocol versioning:
- PROTOCOL_VERSION constant at top of side_chain.h
- Increment only on consensus-breaking changes
- Version mismatch logs warning, prevents genesis adoption
Tiebreaker: When timestamps match, lexicographically lower hash wins.
2025-12-05 23:44:53 +00:00
Matt Hess
cb374321a4
fix pointer advancement
2025-11-16 21:11:29 +00:00
Matt Hess
735eb6737f
fixed communication issue with tx version relay
2025-11-16 21:01:21 +00:00
Matt Hess
8e17597227
fixed display coin name, added default seeds
2025-11-13 07:02:48 +00:00
Matt Hess
63f69dac0d
Salvium P2Pool port
...
- SC1 Carrot v1 address support (decode/encode)
- Salvium transaction version 4
- Carrot v1 output types (TXOUT_TO_CARROT_V1)
- Salvium hardfork schedule
- Emission formula (80% PoW)
- Mainchain block relay compatibility
- Fixed wallet encode for varint prefixes
2025-11-13 06:08:32 +00:00
Matt Hess
78cbb8bc9f
Update hardfork schedule for Salvium
...
- Replace Monero hardfork schedule with Salvium's
- v1-v10 transitions at correct block heights
- Fixes peer banning due to version mismatch (error 87)
2025-11-12 19:00:53 +00:00
Matt Hess
62c654f77c
Port P2Pool to Salvium
2025-11-12 15:20:13 +00:00
SChernykh
5dc0cc4861
Added --no-clearnet-p2p parameter, added TOR documentation
2025-10-21 18:38:51 +02:00
SChernykh
801c131172
P2P: save/load onion peers, added onion seed nodes
2025-10-20 19:07:29 +02:00
SChernykh
cb9fc89b22
Added --onion-address command line option to support incoming TOR connections
2025-10-20 13:06:45 +02:00
SChernykh
baf13781e4
P2P: use a separate peer id for .onion peers
2025-10-18 20:04:16 +02:00
SChernykh
4e690feefb
Support .onion domains for addpeers command and --addpeers option (requires SOCKS5 proxy)
2025-10-18 15:47:06 +02:00
SChernykh
e2f0ec7c69
De-duplicate tx hashes and pub keys to save memory (off by default) ( #382 )
...
P2Pool-main: 8.2 MB saved
P2Pool-mini: 66 MB saved
P2Pool-nano: 25.2 MB saved
The feature is available only when building from source and is intended for use on low-memory systems (for example, a VPS server with < 1 GB RAM).
It only makes sense to use with `--no-cache --no-randomx` in the command line because cache and RandomX hasher take much more memory.
2025-10-18 12:21:16 +02:00
SChernykh
7cb6a0dcc3
Added missing cleanup code
2025-09-29 12:34:04 +02:00
SChernykh
e9c14ef3d0
Don't send the same Monero block broadcast to peers who sent it already
2025-09-28 15:33:58 +02:00
SChernykh
0184a3139c
CI: revised clang-tidy list of checks
2025-09-25 18:46:22 +02:00
sech1
8c1c5fd8e1
P2PServer: check PoW in background to not stall the P2P loop
2025-09-14 12:55:23 +02:00
sech1
bbfdeeaff5
Log submit_block RPC performance
2025-09-14 00:25:15 +02:00
sech1
5c907d39aa
Fix: submit broadcasted Monero blocks one at a time
2025-09-07 19:39:10 +02:00
sech1
b7c4613d40
Fixed handling of multiple blocks from ZMQ
2025-09-06 14:25:57 +02:00
sech1
830c78a032
Fixed build errors, refined Monero block broadcast logic
2025-09-03 14:35:53 +02:00
sech1
50634e5e79
Feature: broadcast all new Monero blocks through p2pool network for faster propagation
2025-09-03 10:07:39 +02:00
SChernykh
964f4c8065
Updated copyright
2025-07-14 20:30:33 +02:00
SChernykh
484d34040e
Fixed cppcheck errors
2025-06-25 12:07:23 +02:00
SChernykh
06463e3e68
p2pool v4.8.1
2025-06-25 08:03:43 +02:00
SChernykh
52d3454b0f
CI: added pruned and compact block blobs test
2025-06-24 23:13:58 +02:00
SChernykh
e0c1d9377c
P2Pool-nano support
2025-05-28 15:04:11 +02:00
SChernykh
3154b61fc6
P2PServer: show protocol version in peer list
2025-05-16 09:40:14 +02:00
SChernykh
70298cd065
Merge mining donation support
2025-05-13 17:18:29 +02:00
SChernykh
9ce9516c99
Added RPC-SSL support for Monero node connections
2025-01-27 22:32:28 +01:00
SChernykh
00b6dabc78
API: added ZMQ last active to local/p2p
2024-12-29 16:19:18 +01:00