SChernykh
314a1ba39b
p2pool v2.4
2022-09-30 17:52:33 +02:00
SChernykh
2daa7f9fea
Fixed memory leak
2022-09-28 22:43:38 +02:00
SChernykh
f0d576e1b0
Reduced memory usage for each PoolBlock
2022-09-28 16:50:30 +02:00
SChernykh
7468af0779
TCPServer: fix incoming connection counting
2022-09-22 11:28:38 +02:00
SChernykh
38a6d3e549
Limit max in/out peers to 450
...
To avoid hitting default open files limit (1024)
2022-09-20 10:39:55 +02:00
SChernykh
b81f1c4975
Require monerod v0.18
2022-09-14 14:45:10 +02:00
SChernykh
ed78e9df6e
More reliable file load/save
2022-09-13 18:48:00 +02:00
SChernykh
f044149004
P2PServer fix: reset ping time on disconnect
2022-09-13 16:14:54 +02:00
SChernykh
f126eb7611
P2PServer: added more logging
2022-09-13 11:12:08 +02:00
SChernykh
afa9cf371e
P2PServer: sync from the fastest peer if possible
2022-09-13 10:51:15 +02:00
SChernykh
f813cf6d36
Fix: possible use after free on shutdown
...
Console commands could access destroyed objects
2022-09-08 16:16:00 +02:00
SChernykh
d80a06bc8e
Added more error logging
2022-09-08 09:18:30 +02:00
SChernykh
947178f10a
StratumServer: improved warning message
2022-09-07 08:59:04 +02:00
SChernykh
e92cc7d50c
Fix: don't use proxy for incoming connections
2022-09-06 15:59:05 +02:00
SChernykh
989a28a8ca
TCPServer small fixes
2022-09-05 15:14:10 +02:00
SChernykh
e4dd46b498
Added --no-dns
command line parameter
2022-09-04 18:10:14 +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
d40bb61da8
p2pool v2.3
2022-08-30 18:01:45 +02:00
SChernykh
4733d42932
TCPServer: more informative error messages
2022-08-27 10:52:02 +02:00
SChernykh
6615fa67f5
API: fixed error messages
2022-08-26 09:39:44 +02:00
SChernykh
dc4b88d08e
API: use unique temp file names
2022-08-25 09:52:58 +02:00
SChernykh
4599d81a59
API: save to temp file first and then rename it
2022-08-24 17:28:53 +02:00
SChernykh
3ea5b575b7
JSON RPC: added more error checks
2022-08-24 15:17:23 +02:00
SChernykh
bde5b19c77
CI: added sync test
2022-08-23 19:49:41 +02:00
SChernykh
cc60ab3d63
StratumServer: added scoring system for clients
...
Ban clients only after a few bad shares without good shares compensating them.
2022-08-22 11:07:11 +02:00
SChernykh
3802886722
Fixed "unknown command" message
2022-08-17 19:37:18 +02:00
SChernykh
d4e27a27cb
Tweaked SideChain::get_missing_blocks()
2022-08-17 16:44:40 +02:00
SChernykh
e882b91b06
Reduced lock contention in Cache::get_derivation()
2022-08-16 18:15:41 +02:00
SChernykh
4c8dbee79d
More fine-grained locks in crypto cache
2022-08-15 18:39:28 +02:00
SChernykh
30861bbf91
Speedup SideChain::get_outputs_blob()
2022-08-15 13:48:21 +02:00
SChernykh
ea6a19a260
Fixed data race
2022-08-06 11:15:09 +02:00
SChernykh
fc81fa8745
JSON RPC: added more error checking
2022-08-06 10:03:10 +02:00
SChernykh
948436e57e
Fixed coverity issue
2022-08-05 15:27:39 +02:00
SChernykh
3dde71f1ff
Fixed processing of long console commands
2022-08-05 09:09:14 +02:00
SChernykh
555414cd51
SideChain: improved precalculation coverage
2022-07-14 19:29:41 +02:00
SChernykh
c33033b2f4
Code cleanup
2022-07-14 14:28:06 +02:00
SChernykh
3c697c2d7e
Fixed potential deadlock
...
Can't lock `m_minerLock` inside SideChain update
2022-07-14 13:15:35 +02:00
SChernykh
0e7c1aa481
SideChain: stricter checks for number of threads
2022-07-14 11:39:19 +02:00
SChernykh
7d5ff13f75
Fixed cppcheck warnings
2022-07-14 11:23:56 +02:00
SChernykh
02a8a512dc
SideChain: precalculate tx pubkeys for faster sync
2022-07-14 10:28:25 +02:00
SChernykh
4733f46a28
Added uv_cond_init_checked
2022-07-14 09:02:08 +02:00
SChernykh
945de348f3
Rewrote get_view_tag without std::find_if
2022-07-12 09:50:49 +02:00
SChernykh
20dd9d7adc
More efficient view tags caching
2022-07-11 16:42:26 +02:00
SChernykh
c5bd184bbc
P2PServer: don't deserialize the same block twice
2022-07-10 10:24:03 +02:00
SChernykh
1c33cc9f3d
p2pool v2.2.1
2022-07-08 17:47:28 +02:00
SChernykh
9d692d5194
ConsoleCommands: check if console is available
2022-07-07 08:32:37 +02:00
SChernykh
2e4f7adee4
TCPServer: added more checks during disconnects
2022-07-06 14:17:09 +02:00
SChernykh
dcb822f812
ConsoleCommands: read from stdin using libuv
2022-07-05 22:08:18 +02:00
SChernykh
5da286fed4
JSON RPC: added HTTP headers
2022-07-05 14:54:04 +02:00
SChernykh
4ec0fe8d96
Fixed JSON RPC handling during shutdown
2022-07-05 14:34:22 +02:00
SChernykh
340a3e85c8
Fixed autodiff when running for a long time
...
16-bit wrap around wasn't processed correctly
2022-07-05 10:02:18 +02:00
SChernykh
64baf660bb
JSON RPC: fixed shutdown on connect error
2022-07-05 08:36:16 +02:00
SChernykh
c5ea4dca67
p2pool v2.2
2022-06-30 17:58:40 +02:00
SChernykh
deaf47155f
Miner: reset share counter when synchronized
2022-06-30 12:13:17 +02:00
SChernykh
a1d1420ec3
Miner: display shares found in status
2022-06-30 10:15:51 +02:00
SChernykh
deb8d59130
Fixed cppcheck error
2022-06-28 10:58:41 +02:00
SChernykh
14bbf96feb
Enforce deterministic tx keys starting from v15
2022-06-28 10:44:16 +02:00
SChernykh
a281db1cbb
Fixed unaligned read
2022-06-27 16:20:45 +02:00
SChernykh
b25e5449c8
Fixed rare "low diff share" errors
2022-06-26 17:07:19 +02:00
SChernykh
b267c19a45
Limit autodiff to 4M for max compatibility
2022-06-26 17:06:21 +02:00
SChernykh
2aa8d2bdcc
Code cleanup
2022-06-20 22:37:33 +02:00
SChernykh
acf37ff10f
Added json parser tests
2022-06-20 10:50:30 +02:00
SChernykh
921cbb0b69
ConsoleCommands: don't exit on EOF
2022-06-15 07:54:53 +02:00
SChernykh
7f1b849394
Fixed new cppcheck issues
2022-06-13 07:30:59 +02:00
SChernykh
9f4388843a
Fixed error messages
2022-06-10 07:48:47 +02:00
SChernykh
37fba30c79
JSON RPC: fixed error checking
2022-06-08 18:58:32 +02:00
SChernykh
8f1fd55e2f
Fixed more memory leaks in TCPServer
2022-06-07 22:25:27 +02:00
SChernykh
8af9e9b27d
Fixed memory leaks
2022-06-07 19:40:13 +02:00
SChernykh
8b681d6efb
Added memory hooks for CURL
2022-06-07 16:02:08 +02:00
SChernykh
a0778c8d7b
CURL error checking
2022-06-06 17:08:36 +02:00
SChernykh
a35d4b2701
Change llhttp to libcurl
2022-06-06 15:08:37 +02:00
SChernykh
05b0973a23
More reliable p2pool shutdown logic
2022-06-03 18:28:10 +02:00
SChernykh
09f46beeb4
SideChain: added more checks to is_longer_chain()
2022-06-03 17:28:46 +02:00
SChernykh
6ef34bb3f5
Enabled more compiler warnings
2022-06-01 16:13:18 +02:00
SChernykh
9a5be0a321
p2pool v2.1
2022-05-31 18:20:21 +02:00
SChernykh
c203f6eb0a
Fixed a new cppcheck issue
2022-05-31 16:51:09 +02:00
SChernykh
111087d96a
Fixed block reward share calculation
2022-05-28 22:27:46 +02:00
SChernykh
9e7666d12f
Fixed data races
2022-05-28 21:46:50 +02:00
SChernykh
cb147773b5
Updated cppcheck workflow on Linux
2022-05-26 21:19:01 +02:00
SChernykh
d84bef8f14
Added block reward share percent to miner api
2022-05-26 11:08:16 +02:00
SChernykh
6d121122f8
Fixed compiler warnings in tests
2022-05-24 15:18:09 +02:00
SChernykh
0e222afd6a
Exit if server startup fails
2022-05-23 15:50:25 +02:00
SChernykh
b191962d32
Handle startup errors without calling abort()
2022-05-23 09:37:11 +02:00
SChernykh
1cf13e142a
SideChain: fixed alternative chain detection
2022-05-16 15:59:48 +02:00
SChernykh
8f1f81749d
StratumServer: reset cumulative hashes too
2022-05-16 14:36:11 +02:00
SChernykh
72d70eba16
SideChain: added "synchronized" log message
2022-05-16 01:48:37 +02:00
SChernykh
ae3612f595
Fixed worker diff display when autodiff is off
2022-05-15 18:13:36 +02:00
SChernykh
37b6457054
Show worker hashrate only when autodiff is on
2022-05-15 01:15:21 +02:00
SChernykh
9579be5c7d
Optimized SideChain::miner_count()
2022-05-12 22:18:08 +02:00
SChernykh
d05d47fa75
Fixed compilation
2022-05-12 16:10:55 +02:00
SChernykh
bd88c04e9e
SideChain: mutex locks refactoring
2022-05-12 15:24:02 +02:00
SChernykh
eb3a3872eb
Fixed missing blocks download logic
2022-05-12 08:49:34 +02:00
SChernykh
5cea7be405
Allow only one pending get_miner_data
2022-05-12 01:09:59 +02:00
SChernykh
516c382fe4
Update keccak.cpp
2022-05-11 16:13:00 +02:00
SChernykh
710e55422a
Ignore duplicate get_miner_data
2022-05-11 16:10:10 +02:00
SChernykh
3406cf78b4
Don't return stale chain tip to other peers
2022-05-11 15:07:54 +02:00
SChernykh
8fa354796c
Reload peer list when there are no connections
2022-05-11 14:09:28 +02:00
SChernykh
6c6ef1c1b8
Restart ZMQ connection if it looks dead
2022-05-11 13:50:47 +02:00
SChernykh
c3c326c680
Suppress MSVC warnings
2022-05-11 10:55:36 +02:00
SChernykh
92e20485b2
Log: don't allow side effects in LOG() calls
2022-05-10 21:41:53 +02:00
SChernykh
edd782ac23
Fixed custom worker names
2022-05-10 14:01:10 +02:00
SChernykh
a4d84e318d
TCPServer: refactored Client constructor
2022-05-09 19:13:34 +02:00
SChernykh
134f2d68a3
Fixed data races
2022-05-09 16:10:55 +02:00
SChernykh
d23c46ff84
Added bsr() function to util
2022-05-09 13:02:06 +02:00
SChernykh
820c5db5e8
Log: check for logrotate only once per loop
2022-05-09 09:58:43 +02:00
SChernykh
990916ab62
StratumServer: added autodiff
...
Autodiff is enabled by default, target time is 30 seconds. It can be disabled with `--no-autodiff` command line option.
2022-05-08 19:03:00 +02:00
SChernykh
d4e362cd76
TCPServer: optimized Client struct size
2022-05-07 12:35:31 +02:00
SChernykh
1dd06cc509
Removed std::string to avoid memory allocation
2022-05-07 11:00:29 +02:00
SChernykh
2e2bd1d137
Added log padding
2022-05-06 20:04:01 +02:00
SChernykh
0818d91f4f
StratumServer: added console command workers
2022-05-06 13:19:56 +02:00
SChernykh
1a35177633
Fixed unsafe usage of log::Stream buffers
2022-05-05 14:38:56 +02:00
SChernykh
8f27d940e3
Don't ban localhost
2022-05-03 13:11:55 +02:00
SChernykh
6b4640c413
Fixes for Termux
2022-05-03 07:32:47 +02:00
SChernykh
8aebcdc580
p2pool v2.0
2022-04-30 17:50:27 +02:00
SChernykh
54acfee036
Merge pull request #144 from SChernykh/view_tags
...
v15 hardfork changes
2022-04-27 19:56:42 +02:00
SChernykh
a78ddb50d5
Fixed logger thread timing logic
2022-04-24 16:22:22 +02:00
SChernykh
b2f86a5f6b
Ban peers with stuck or lagging monerod
2022-04-23 11:29:17 +02:00
SChernykh
2a77695832
Fixed data races in miner
2022-04-09 18:25:12 +02:00
SChernykh
21d8cb917b
Fixed data race in logger
2022-04-09 10:41:20 +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
7522111bb7
Fixed data races
2022-04-09 00:38:15 +02:00
SChernykh
7b5b910f3f
Undefined behaviour fixes
2022-04-08 22:49:08 +02:00
SChernykh
afb52e4235
Check return value (Coverity fix)
2022-04-07 19:33:39 +02:00
SChernykh
93cd9a659a
Code cleanup
2022-04-07 19:11:20 +02:00
SChernykh
9e287ab4f0
Logger fixes
...
- Fixed a race condition when stopping the logger
- Flush log file only once per batch of log lines
2022-04-07 16:55:35 +02:00
SChernykh
094209f311
P2PServer: optimized update_peer_connections()
2022-04-07 16:48:01 +02:00
SChernykh
dee66c3f32
Added varint unit tests
2022-04-06 16:34:16 +02:00
SChernykh
32533e3c96
FreeBSD build
2022-04-05 19:36:37 +02:00
SChernykh
1b3c1eb850
P2PServer: increased peer timeout to 15 minutes
2022-03-30 22:47:10 +02:00
SChernykh
7fe032915f
Ignore SIGPIPE
2022-03-30 21:53:52 +02:00
SChernykh
5b9b73abcc
p2pool v1.9
2022-03-30 20:15:47 +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
e50cf060cb
Miner: fixed share counter initialization
2022-03-30 08:34:22 +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
292e2580e5
Make sure dataset init doesn't block start
2022-03-24 20:55:35 +01:00
SChernykh
028a5d0c88
Fixed memory leak after loading block cache
2022-03-24 18:30:23 +01:00
SChernykh
8b27faad6d
BlockCache: fixed collisions of same height blocks
2022-03-24 16:03:12 +01:00
SChernykh
cdc3206ee8
Optimized keccak
2022-03-24 12:52:57 +01:00
SChernykh
0c2b7d6010
More time handling fixes
2022-03-23 15:49:24 +01:00
SChernykh
ef15c3b54f
Show sidechain ID in status
2022-03-23 14:17:40 +01:00
SChernykh
f4bcdc7fe9
Use steady_clock to time peer list requests
2022-03-23 11:37:05 +01:00
SChernykh
aada1bb5cc
Use chrono::steady_clock for internal timestamps
2022-03-23 11:30:38 +01:00
SChernykh
c21d052d7a
Refactored RNG usage across the code
2022-03-17 16:14:29 +01:00
SChernykh
62b1690780
Added an option to disable RandomX for the build
2022-03-15 17:11:45 +01:00
SChernykh
0db57e5047
p2pool v1.8
2022-02-27 19:56:47 +01:00
SChernykh
e7919514d4
TCPServer: fixed uninitialized variables
2022-02-25 15:31:35 +01:00
SChernykh
7ab21c6afd
TCPServer: reduced memory usage
2022-02-23 17:07:50 +01:00
SChernykh
2209e0cc70
P2PServer: relaxed peer list request restriction
2022-02-22 11:06:12 +01:00
SChernykh
a73b4616a4
Fixed Coverity issues
2022-02-22 00:38:08 +01:00
SChernykh
9593311332
Added bans
console command
2022-02-21 19:59:57 +01:00
SChernykh
9a09d15bea
P2PServer: use high_resolution_clock for ping time
2022-02-21 18:46:53 +01:00
SChernykh
f082488e4b
TCPServer: use steady_clock for bans
2022-02-21 18:41:36 +01:00
SChernykh
752e2381d6
P2PServer: added more protocol checks
2022-02-21 16:54:53 +01:00
SChernykh
de9f13d393
Check for unknown command line parameters
2022-02-21 08:02:36 +01:00
SChernykh
272d206741
stats_mod api: updated min payout value
2022-02-20 17:08:27 +01:00
SChernykh
8045c40026
Check for proper --local-api
usage
2022-02-18 16:21:28 +01:00
SChernykh
d4a1b14820
Use monerod peers to find p2pool nodes
2022-02-17 22:10:52 +01:00
SChernykh
cc6ce4a366
Reset stratum share counters after initial sync
2022-02-17 11:19:11 +01:00
SChernykh
42370bf11e
p2pool v1.7
2022-02-14 19:29:55 +01:00
SChernykh
ec2f4467fb
Added --mini
command line option to connect to p2pool-mini
2022-02-14 13:57:59 +01:00
SChernykh
9f449320b5
StartumServer: disconnect and ban inactive clients
2022-02-08 15:00:08 +01:00
SChernykh
8767ef9e19
Display payout amount when a block is found
2022-01-29 17:09:43 +01:00
SChernykh
cf184295b4
Updated version
2022-01-26 19:42:49 +01:00
SChernykh
1e4e4bd08e
Added miner statistics to data api
2022-01-24 10:42:21 +01:00
SChernykh
a640e41d74
Improved RNG initialization
2022-01-24 00:37:39 +01:00
SChernykh
38ffd73b54
Fixed new Coverity issue
2022-01-23 13:03:56 +01:00
SChernykh
c10a5ce323
Miner code cleanup
2022-01-23 11:03:26 +01:00
SChernykh
e2931f94b5
Added embedded miner
2022-01-22 23:30:19 +01:00
SChernykh
248fcee174
Update version
2022-01-09 17:19:20 +01:00
SChernykh
89bcceb986
Added p2pool mini seed nodes and default port
2021-12-30 11:10:18 +01:00
SChernykh
2b01350add
Added outpeers
and inpeers
console commands
2021-12-26 15:28:33 +01:00
SChernykh
f1b6212c82
P2PServer: add connection limits
...
#87 Added `--out-peers` and `--in-peers` command line options.
2021-12-26 14:59:45 +01:00
SChernykh
d8bba4dc82
Updated version mismatch error message
2021-12-07 16:25:23 +01:00
SChernykh
eaf29872cb
Update version
2021-12-01 18:24:36 +01:00
SChernykh
f9def6cb73
Added "calc_pow" RPC support
2021-11-21 09:12:21 +01:00
SChernykh
07cfb54bdc
JSONRPCRequest: fixed undefined behavior in the error handler
2021-11-10 16:26:01 +01:00
SChernykh
5dd8d11b72
TCPServer: removed unused field
2021-11-09 15:48:59 +01:00
SChernykh
e44baad73c
Update version
2021-11-05 15:39:20 +01:00
SChernykh
bb7a5b4d6d
Cleanup
2021-11-02 17:18:02 +01:00
SChernykh
64116643c2
Fixed block broadcasts
2021-11-01 19:36:11 +01:00
SChernykh
1e4c6ef5f4
Added block verification test
2021-11-01 18:53:34 +01:00
SChernykh
61edc6ed70
Reduce cache flush frequency to once per minute
2021-11-01 11:29:59 +01:00
SChernykh
dff2413cae
TCPServer: make write buffers global
...
Reduced memory usage per connection.
2021-10-31 20:29:35 +01:00
SChernykh
998c2ba72f
Fixed msys2 build crash
2021-10-31 20:29:35 +01:00
SChernykh
b56d027dd5
Include P2P peer list into miner count
2021-10-31 20:29:35 +01:00
SChernykh
eaed654012
Check for missing data from monerod on each new block
...
It helps in these cases:
- monerod was down/unavailable for a while and then restarted
- monerod was out of sync and then jumped several block heights ahead
2021-10-31 12:20:29 +01:00
SChernykh
981b161cc9
SideChain: faster processing of repeated broadcasts
2021-10-31 11:06:00 +01:00
SChernykh
f59e9171e8
SideChain: use a separate lock for m_seenBlocks
2021-10-31 10:26:13 +01:00
SChernykh
b45540ca08
TCPServer: clean up old IP bans
2021-10-29 14:54:36 +02:00
SChernykh
806e1ca0a3
SideChain: faster check for low-diff spam blocks
2021-10-29 11:39:15 +02:00
SChernykh
113e39817d
Cleanup old Monero blocks data
2021-10-29 11:14:28 +02:00
SChernykh
0869326f39
SideChain: count miners in the last 48 hours
2021-10-29 10:37:12 +02:00
SChernykh
75d62c0303
SideChain: cleanup m_seenBlocks when pruning old blocks
2021-10-29 10:34:53 +02:00
SChernykh
da4686b88f
ZMQReader: start after initial RPC calls are finished
2021-10-28 20:05:40 +02:00
SChernykh
a008eac8c6
ZMQReader: more reliable connect()
2021-10-28 19:28:33 +02:00
SChernykh
3d60ae8c32
Fix: don't start until monerod is fully synchronized
2021-10-28 18:47:28 +02:00