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
2877e5dfc1
Sync test: log stratum data when finished
2023-08-15 11:43:05 +02:00
SChernykh
a6b6cb0f09
TCPServer: tweaked ASAN support
2023-08-14 22:24:42 +02:00
SChernykh
929f908a86
Sync test: submit fake shares to test stratum
2023-08-14 17:10:36 +02:00
SChernykh
bd30a68e7d
Fixed cppcheck error
2023-08-07 07:28:44 +02:00
SChernykh
f4a18726b5
P2PServer: support future major protocol changes
2023-08-04 15:52:28 +02:00
SChernykh
2ddb03e2be
CI: tweaked memory leak output formatting
2023-07-19 16:15:48 +02:00
SChernykh
0f88640575
CI: added sync test with memory leak detection
2023-07-19 13:59:57 +02:00
SChernykh
75cc82ae0c
P2PServer: removed protocol version check for fastest peer
2023-07-12 12:48:52 +02:00
SChernykh
32dc235aa5
SideChain: fix for out of order blocks
2023-07-12 00:25:37 +02:00
SChernykh
6ffe1d81c2
P2PServer: ignore protocol versions higher than supported
2023-07-10 20:13:37 +02:00
SChernykh
5b245e64d3
Fixed a typo
2023-07-10 16:54:01 +02:00
SChernykh
a067361d74
P2PServer: prefetch 2 blocks ahead during sync
2023-07-10 15:44:18 +02:00
SChernykh
a7f66c8883
SideChain: filter duplicates from missing blocks
2023-07-10 14:11:22 +02:00
SChernykh
e03e7d831e
P2PServer: tweaked switching to the fastet peer when syncing
2023-07-10 11:40:48 +02:00
SChernykh
1219ed0dd6
P2PServer: check protocol version when choosing fastest peer
2023-07-07 23:49:43 +02:00
SChernykh
fe2ff95f19
P2PServer: use BLOCK_NOTIFY to speed up syncing
2023-07-07 16:48:28 +02:00
SChernykh
d72f0ce40c
P2PServer: fixed some excess block requests
2023-07-07 14:52:47 +02:00
SChernykh
df43e2c126
SideChain: tweaked precalc logic
2023-07-07 14:21:52 +02:00
SChernykh
d8ecc1174d
P2PServer: refactored BLOCK_NOTIFY logic
...
- Limit how many block requests can be in flight
- Don't send requests for the same block twice
2023-07-07 12:14:24 +02:00
SChernykh
3e269b49d4
Tweaked log level for BLOCK_NOTIFY
2023-07-05 19:06:49 +02:00
SChernykh
72c9f3b0db
Fixed ping time calculation
2023-07-05 15:29:54 +02:00
SChernykh
2f5b0db786
P2PServer: request blocks coming from BLOCK_NOTIFY
2023-07-05 11:42:34 +02:00
SChernykh
8d9f16c387
P2PServer: sanity check message id
2023-07-04 16:47:14 +02:00
SChernykh
d6cb0ee8a0
P2PServer: avoid unnecessary block broadcasts
2023-07-04 16:06:01 +02:00
SChernykh
5444701c38
Tweaked status
code
...
Don't create stream when it's not needed
2023-07-02 15:33:51 +02:00
SChernykh
396479c2bf
Fixed cppcheck errors
2023-07-02 13:10:05 +02:00
SChernykh
d78885dcd4
p2pool v3.5
2023-06-30 18:05:12 +02:00
SChernykh
ede72ff1d8
Suppress a noisy Coverity warning
2023-06-30 16:18:02 +02:00
SChernykh
e5bf27030d
Rate limit peer list requests
...
Send an empty response if the request comes too soon
2023-06-29 18:20:07 +02:00
SChernykh
375bf56e2e
Fixed null characters in print_hosts
output
2023-06-29 10:52:42 +02:00
SChernykh
f79be1b343
Removed unnecessary lock
2023-06-27 17:09:58 +02:00
SChernykh
3554adf0c1
Refactored string conversions
...
Use `log::Stream` everywhere
2023-06-27 14:29:19 +02:00
SChernykh
3759fd4ac4
Code cleanup
2023-06-22 09:26:05 +02:00
SChernykh
1c7646f98f
ZMQReader: make sure monitor always shuts down
2023-06-20 16:53:03 +02:00
SChernykh
1b9d14e89d
Get ping times for all hosts
2023-06-19 17:56:53 +02:00
SChernykh
a9a2113ea4
Code cleanup
2023-06-18 16:47:31 +02:00
SChernykh
b5fa34e1a1
Added support for multiple Monero hosts
...
Switch to the next host in list when P2Pool thinks current host is stuck or lagging
2023-06-18 12:56:27 +02:00
SChernykh
30560e6cf8
CI: use compile command database for clang-tidy
2023-06-15 10:36:42 +02:00
SChernykh
8b4f05dc78
CI: added clang-tidy
2023-06-14 14:40:12 +02:00
SChernykh
950330b5f7
SideChain: recover from incorrect PoW calculation
2023-06-14 11:22:55 +02:00
SChernykh
9927718e25
Tweaked cppcheck command line
2023-06-13 11:53:41 +02:00
SChernykh
b7ff4f2c2c
Set default JSON parser flags
2023-06-12 15:29:23 +02:00
SChernykh
47c79459a6
Fixed get_miner_data
error handling
...
Second call was a no-op because of `m_getMinerDataPending`
2023-06-10 14:49:33 +02:00
SChernykh
143960937e
p2pool v3.4
2023-05-31 18:11:01 +02:00
SChernykh
ee16ce10c1
Tweaked block_seen
logic
2023-05-31 17:03:45 +02:00
SChernykh
738b2e416e
ZMQ: log internal listening port
2023-05-30 12:58:03 +02:00
SChernykh
b96dfa602b
ZMQ: use random port for internal use
2023-05-29 14:37:20 +02:00
SChernykh
9d6f232dd1
Tweaked block_seen
logic
2023-05-29 14:13:11 +02:00
SChernykh
183bab110e
Refactored log writer
2023-05-26 11:19:39 +02:00
SChernykh
beea3e2184
Fixed cppcheck error
2023-05-26 07:48:38 +02:00
SChernykh
e0a3add5f2
Refactored is_localhost()
2023-05-26 00:02:15 +02:00
SChernykh
2cdb8b5323
P2PServer: fixed use after free on shutdown
2023-05-25 10:11:24 +02:00
SChernykh
3d526cebbc
Enabled MemorySanitizer
2023-05-25 07:32:33 +02:00
SChernykh
5f7ce28682
TCPServer: fixed send callback arguments
2023-05-24 13:46:05 +02:00
SChernykh
3fdadf3eb5
Fixed cppcheck errors
2023-05-23 20:11:00 +02:00
SChernykh
cd57ab6ad9
Fixed UV_THREADPOOL_SIZE
setting
...
putenv can't use stack buffer
2023-05-23 19:14:15 +02:00
SChernykh
eab8a51bb7
SideChain: tweaked m_seenBlocks
cleanup logic
2023-05-22 15:30:57 +02:00
SChernykh
dbb4efb98a
Added version
console command
2023-05-20 15:51:36 +02:00
SChernykh
a83d6deec1
Check node ping at startup
2023-05-18 10:33:27 +02:00
SChernykh
f212de64f5
P2PServer: fixed peer list request logic
2023-05-18 09:39:04 +02:00
SChernykh
6a4583f758
Sync test: keep running for 2 minutes more
2023-05-18 00:28:49 +02:00
SChernykh
325f2dc22f
Sync test: run with TSAN on Ubuntu
2023-05-17 23:06:54 +02:00
SChernykh
b20db0a117
P2PServer: always send peer list request to new peers
2023-05-17 11:13:25 +02:00
SChernykh
3c7fcf65a9
Fixed DNS TXT parsing
2023-05-12 15:41:02 +02:00
SChernykh
4fa344a0f7
Refactored DNS TXT resolver code
2023-05-12 10:37:58 +02:00
SChernykh
bba4f8d0c5
Fixed headers for res_query
2023-05-11 09:21:10 +02:00
SChernykh
be8b38e5cf
Changed BLOCK_FOUND wording
2023-05-11 08:07:05 +02:00
SChernykh
db9e5ba332
P2PServer: prefer DNS TXT records to load seed nodes
2023-05-10 22:07:35 +02:00
SChernykh
689fa14cfd
Fixed cppcheck errors
2023-05-10 10:35:23 +02:00
SChernykh
8a222d5e75
TCPServer: check if loop thread is running before waiting for it
2023-05-01 20:13:57 +02:00
SChernykh
fcb62894a5
p2pool v3.3
2023-04-30 16:04:32 +02:00
SChernykh
c94b627808
TCPServer: use /64 prefix to ban IPv6 peers
2023-04-27 10:28:32 +02:00
SChernykh
98b2d2057c
SideChain: fixed data race
2023-04-24 20:23:45 +02:00
SChernykh
98a9eb4f18
Console: fixed data race
2023-04-24 20:06:56 +02:00
SChernykh
76c3e89faf
StratumServer: update api more often
2023-04-24 12:44:50 +02:00
SChernykh
abf48fde02
Stratum API: added block reward share percent
2023-04-24 11:45:02 +02:00
SChernykh
b498084388
SideChain: fixed a rare sync bug
...
P2Pool could fail to sync if uncles of depth 3 were present at a certain depth in the chain
2023-04-22 19:01:17 +02:00
SChernykh
75c156578c
SideChain: tweaked precalculation during sync
2023-04-22 18:00:31 +02:00
SChernykh
51a075c0df
P2PServer: fixed buf_size checks
2023-04-21 14:59:47 +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
44d2005ab1
Console: returned stdin check to constructor
2023-04-20 10:59:32 +02:00
SChernykh
5f18eed14d
Fixed compilation error
2023-04-19 22:44:38 +02:00
SChernykh
7a83fd2f30
Console: check stdin handle early at startup
2023-04-19 21:09:28 +02:00
SChernykh
6e258bb210
Refactored TCPServer to reduce code duplication
2023-04-19 16:37:32 +02:00
SChernykh
72adfd3126
Console: added local api
2023-04-18 17:01:00 +02:00
SChernykh
196b27f3b2
Console: read commands via localhost TCP
2023-04-18 16:19:12 +02:00
SChernykh
14ab9f462a
Fixed command line parsing
2023-04-17 23:28:03 +02:00
SChernykh
93365973a7
Merge pull request #253 from hinto-janai/master
...
Add `--version`
2023-04-17 20:02:01 +02:00
hinto.janai
950ecd6bbc
add --version
2023-04-17 10:55:53 -04:00
SChernykh
8420f5f1b1
TCPServer: reduced write buffer reallocations
2023-04-17 16:22:46 +02:00
SChernykh
6ef166ba33
Fixed cppcheck errors
2023-04-14 12:38:14 +02:00
SChernykh
2d76846d3c
Removed unused <iostream>
2023-04-05 14:47:44 +02:00
SChernykh
f6cc7abac9
Fixed cppcheck error
2023-04-05 14:13:48 +02:00
SChernykh
92827035e0
p2pool v3.2
2023-03-31 18:30:34 +02:00
SChernykh
5f7b8c3371
Fixed cppcheck false positives
2023-03-31 13:35:23 +02:00
SChernykh
03eddddc0e
Cache: save data from previous Monero block too
...
To improve caching of stale/outdated sidechain blocks.
2023-03-31 12:59:11 +02:00
SChernykh
080fbaa26c
Util: adder PerfTimer
2023-03-30 19:09:15 +02:00
SChernykh
f6a285de87
API: added PPLNS window size to pool stats
2023-03-28 13:53:52 +02:00
SChernykh
55e4ea0277
API: added sidechain diff and height to pool stats
2023-03-28 11:40:43 +02:00
SChernykh
bb80fe12a0
Added a check for unstable hardware
2023-03-28 10:27:27 +02:00
SChernykh
5c67f0df20
P2PServer: truncate too long peers list in api
2023-03-27 12:15:33 +02:00
SChernykh
3697c079fa
Fixed cppcheck error
2023-03-27 11:47:48 +02:00
SChernykh
2e6041dcf5
P2PServer: add local api data
2023-03-27 11:16:57 +02:00
SChernykh
645de31fe3
SideChain: stricter checks in get_difficulty
2023-03-24 13:26:30 +01:00
SChernykh
eef90da7ae
SideChain: stricter checks of alternative chains
2023-03-24 11:50:39 +01:00
SChernykh
c0586a5089
Added --no-igd
as an alias for --no-upnp
...
For compatibility with monerod command line parameters
2023-03-21 19:31:18 +01:00
SChernykh
b30018bb38
SideChain::update_depths() - reduced log level
2023-03-21 16:22:11 +01:00
SChernykh
6c45573976
Faster block verification
2023-03-21 14:13:47 +01:00
SChernykh
b6c1b1a6d7
P2PServer: log time it took to relay a block
2023-03-21 11:22:48 +01:00
SChernykh
d41a441e98
UPnP: remove port mapping on shutdown
2023-03-21 10:23:17 +01:00
SChernykh
86b6cf2d65
UPnP: handle port mapping conflicts
2023-03-20 22:13:12 +01:00
SChernykh
fe7ef30650
Don't port forward Stratum port by default
...
Added a command line parameter to enable it
2023-03-20 14:04:19 +01:00
SChernykh
bb4c7f0298
Run UPnP discovery in the background
2023-03-20 11:56:41 +01:00
SChernykh
a7db46d69b
Fixed command line help output
2023-03-20 10:04:43 +01:00
SChernykh
d4a57370ef
Disable cmd params depending on compile flags
2023-03-20 09:17:59 +01:00
SChernykh
19cc044cab
Added UPnP port forwarding
2023-03-19 23:02:09 +01:00
SChernykh
c2d8c806d2
Removed fork code, only v2 is left
2023-03-19 17:19:25 +01:00
SChernykh
de7bdba95f
TCPServer: don't spam logs with 127.0.0.1 bans
2023-03-17 16:59:01 +01:00
SChernykh
6baf5247cb
Fixed parallel_run
logic on single CPU systems
2023-03-17 16:01:52 +01:00
SChernykh
146d29b627
Don't let user connect to a node without ZMQ
2023-03-10 15:02:07 +01:00
SChernykh
c1a1249be1
Code cleanup
2023-03-09 10:59:52 +01:00
SChernykh
8e7a797586
Merge pull request #238 from twlee79/feature/namedpipe
...
Allow named pipe as stdin
2023-03-09 10:44:54 +01:00
T W Lee
3df7430663
allow named pipe as stdin, fixes after review
2023-03-09 14:38:20 +13:00
T W Lee
c71d89c95a
allow named pipe as stdin
2023-03-08 02:35:49 +13:00
SChernykh
1b5860eec8
Fixed cppcheck errors
2023-03-06 14:52:47 +01:00
SChernykh
4741880044
StratumServer: added address sanitizer checks
2023-03-06 14:30:13 +01:00
SChernykh
02a0cb174a
StratumServer: show a warning for invalid shares
2023-03-02 13: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
a76d8049c0
p2pool v3.1
2023-02-28 18:11:54 +01:00
SChernykh
0ce1558f54
Fixed data races
2023-02-27 19:35:28 +01:00
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