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
SChernykh
88f346414a
Fixed race condition when using --no-color
2021-10-28 10:36:50 +02:00
SChernykh
2071a24a9f
Update version
2021-10-27 17:27:48 +02:00
SChernykh
1c0da4513f
Added --no-color
command line option
...
`--no-color` disables colors in console output
2021-10-27 16:48:17 +02:00
SChernykh
6a002cda46
Create msvc-analysis.yml
2021-10-27 16:06:36 +02:00
SChernykh
c0c210664a
Show uptime in status
2021-10-26 17:55:47 +02:00
SChernykh
6859d11445
Disable console quick-edit mode on Windows
...
Prevent user from accidentally selecting text in console and freezing all output
2021-10-26 17:42:00 +02:00
SChernykh
111324b6e0
Added console command to show connected peers
2021-10-24 16:04:30 +02:00
SChernykh
148b9dd294
Switch to faster unordered_map/set
2021-10-22 18:34:20 +02:00
SChernykh
04d18cdf1d
P2PServer: fixed m_timer leak
2021-10-21 19:19:22 +02:00
SChernykh
352ad81a0a
StratumServer: faster processing of regular shares
2021-10-21 19:09:36 +02:00
SChernykh
d26902468d
P2PServer: peer list tweaks
...
- Increase outgoing connections to 10
- Stricter handling of peer list responses
2021-10-21 15:55:00 +02:00
SChernykh
0382027d70
Fixed wrong error message
2021-10-21 10:12:57 +02:00
SChernykh
966b499e5c
ZMQReader: keep trying to connect on startup
2021-10-21 00:22:53 +02:00
SChernykh
9885f82e9e
Limit user name length to 64 characters
...
Also avoid creating temporary strings (`" user " + client->m_customUser`) when logging user name
2021-10-19 21:09:08 +02:00
WeebDataHoarder
bc341918f6
Decode custom user from stratum client, display stratum client+user on SHARE FOUND and client mainchain found message
2021-10-19 19:33:15 +02:00
SChernykh
f17c23528a
Update version
2021-10-17 11:00:51 +02:00
SChernykh
a06f4dcdcd
P2PServer: fixed ever growing memory usage
2021-10-17 10:57:33 +02:00
SChernykh
816a29c5ab
Added --no-cache
command line parameter
2021-10-16 13:45:28 +02:00
SChernykh
285560e120
Fixed possible sidechain split during RandomX epoch change
2021-10-16 09:57:13 +02:00
SChernykh
39ba5c4131
P2PServer: check for messages that shouldn't be sent
2021-10-15 17:09:51 +02:00
SChernykh
9b86f8e81f
Peer list refactoring
...
- Remove peers that weren't seen for > 1 hour
- Better peer selection algorithm for PEER_LIST_RESPONSE
2021-10-15 11:32:01 +02:00
SChernykh
9e90e988fa
Refactored array_size to make it always constexpr
2021-10-14 16:46:49 +02:00
SChernykh
39b2167c98
Show correct max log level in usage
2021-10-14 13:59:11 +02:00
SChernykh
f3024d3556
StratumServer: submit Monero block as soon as possible
...
1-3 ms saved when a block is found
2021-10-13 18:57:21 +02:00
SChernykh
61ac90f1d5
Fixed typo
2021-10-13 14:56:27 +02:00
SChernykh
60a8538e0c
P2PServer: show an error when there are no ZMQ messages
2021-10-09 11:01:26 +02:00
SChernykh
77a3a5857c
P2PServer: show an error when there are no connections
2021-10-08 18:21:31 +02:00
SChernykh
af2a8eeb08
Tweaked warning level for lagging nodes
2021-10-06 15:22:03 +02:00
SChernykh
54d0ab3658
Move most block broadcasts to log level 6
2021-10-06 09:47:41 +02:00
SChernykh
c9faa92098
StratumServer: fixed "bad share" ban logic
2021-10-04 15:51:28 +02:00
SChernykh
52e5008bf4
Refactoring
...
- Skip calling time(nullptr) twice
- Use getter method for m_api instead of exposing it
- Moved api_udate_*() back to private since they're not used anywhere else
2021-10-04 10:28:56 +02:00
SChernykh
a0a31b0f3b
Merge pull request #51 from Tonux599/stratumServerJson-staging
...
API for stratum server statistics.
2021-10-04 11:16:37 +03:00
Thomas Clarke
7742d163f7
API for stratum server statistics.
...
Users can pass `--stratum-api` to command line to enable a file called `local/stats` in `--data-api` directory. `local/stats` contains statistics that `StratumServer status` provides but in JSON format. It is currently setup that `local/stats` is updated each time a new job is sent to a worker.
2021-10-03 22:32:13 +01:00
SChernykh
7d66864b01
Print P2Pool version
2021-10-02 17:06:48 +02:00
SChernykh
2a3cd13b19
P2PServer: delete old cached blocks after initial sync
...
Saves ~20 MB of memory
2021-10-01 15:31:47 +02:00
SChernykh
4bcaa41c8e
Clear crypto derivation/key cache when a block is found
2021-09-27 13:47:27 +02:00
SChernykh
4fce76576f
ZMQ reader: abort if connect to monerod failed
2021-09-27 13:47:27 +02:00
SChernykh
f05f7c4268
Fixed wrong nonce values in submit_block error log
2021-09-26 16:50:24 +02:00
SChernykh
ae8733c187
Update RandomX
2021-09-22 17:59:58 +02:00
SChernykh
5c92920619
Default log level 3
...
Also refactored default port numbers
2021-09-18 10:03:06 +02:00
SChernykh
b4ea125a8a
Hardcode default consensus ID for faster startup
2021-09-16 14:23:14 +02:00
SChernykh
8aa9e54dc4
BlockTemplate: wait for 10 seconds before including new transactions
2021-09-14 12:54:42 +02:00
SChernykh
b35b4a9f76
Crypto: added cache for faster key derivation
2021-09-14 11:06:49 +02:00
SChernykh
ba6a2c8eb2
P2PServer: relax stale block restriction
2021-09-13 19:25:12 +02:00
SChernykh
14e26f5c17
Fix: always check before closing TCP handles
2021-09-13 19:11:59 +02:00
SChernykh
4c5144b37f
Check monerod RPC version at startup
2021-09-13 18:27:47 +02:00
SChernykh
42dd58d778
P2PServer: check broadcasts for wrong height
2021-09-13 15:48:05 +02:00
SChernykh
da0f376bef
P2PServer: ban peers that don't broadcast blocks
2021-09-13 15:01:02 +02:00
SChernykh
0d439e7712
SideChain: submit blocks to monerod in more cases
2021-09-13 10:16:45 +02:00
SChernykh
b8f04ac787
Tweaked block broadcast rules
2021-09-11 23:44:09 +02:00
WeebDataHoarder
7bad1e05a4
Implemented shares/uncles position chart on status command
...
Shows progress in slices of PPNLS window. Shares move left to right as they age.
A dot "." indicates no shares, 1-9 for that number in shares, for 9+ it shows a "+".
Will not show shares or uncles lines unless you have one on window.
2021-09-10 16:59:15 +02:00
SChernykh
74096248e1
Better error handling of Monero RPC requests
2021-09-10 16:18:16 +02:00
SChernykh
36ee76d4d2
data api: fixed one block missing to calculate effort
2021-09-10 08:18:38 +02:00
SChernykh
3aa270a072
Fix for older compilers
2021-09-09 11:44:40 +02:00
SChernykh
7a97171b03
Tweaked block broadcast rules
2021-09-08 20:57:22 +02:00
SChernykh
52f195b89f
Tweaked idle peer detection
2021-09-08 20:36:21 +02:00
SChernykh
ee7a1e54f7
DNS name resolution for command line parameters
2021-09-08 20:25:39 +02:00
SChernykh
c8a2a256e7
Fixed RandomX VM initialization
2021-09-08 11:49:54 +02:00
SChernykh
57bc38d2bb
data api: added stats_mod
2021-09-08 09:57:31 +02:00
SChernykh
a332ac7d26
P2PServer: load peers from DNS
2021-09-07 21:43:44 +02:00
SChernykh
7ea1913a9d
Update log.h
2021-09-07 14:14:11 +02:00
SChernykh
73c8b1294a
P2PServer: connect to peers from the event loop thread
...
Better thread safety
2021-09-07 12:56:22 +02:00
SChernykh
ce8ec3860d
Fixed memory leak
2021-09-07 10:22:58 +02:00
SChernykh
25772abc0f
Show block share % in status
2021-09-07 09:53:38 +02:00
SChernykh
899d5a82dd
data api: check p2pool shares that come after a Monero block
2021-09-06 23:33:52 +02:00
SChernykh
7b0cc256c5
P2PServer: ban peers that disconnect without finishing handshake
2021-09-06 16:17:20 +02:00
SChernykh
d3dc4c731f
Added more tests
2021-09-06 15:49:39 +02:00
SChernykh
e264377f0e
Added more checks
2021-09-06 09:17:39 +02:00
SChernykh
a36825424b
Fixed some Coverity reports
2021-09-06 09:02:35 +02:00
SChernykh
2ecd935bc5
data api: fixed saving of p2pool.blocks
2021-09-05 23:05:36 +02:00
SChernykh
f3b6423d4c
Log difficulty for found pool shares
2021-09-05 22:57:36 +02:00
SChernykh
82a88ce0ef
data api: added block hashes to pool/blocks
2021-09-05 22:28:57 +02:00
SChernykh
884d0f180a
TCP server: log IP addresses in more places
2021-09-05 20:21:33 +02:00
SChernykh
f3ee444aed
Stratum server: log IP addresses that send bad data
2021-09-05 19:16:23 +02:00
SChernykh
dd0a35fb79
Show pool-side hashrate in status only when it's not zero
2021-09-05 15:56:50 +02:00
SChernykh
4deef2f807
Added cppcheck workflow
2021-09-05 12:53:40 +02:00
SChernykh
b31adbd5ae
Added macOS build
2021-09-05 12:10:40 +02:00
SChernykh
e527b0c660
Added Windows builds
2021-09-05 11:28:24 +02:00
SChernykh
b17723f1e4
Removed unused code
2021-09-05 00:07:03 +02:00
SChernykh
1554a44f5c
Added more integrity checks
2021-09-04 09:10:44 +02:00
SChernykh
08d2fbdbd1
Parse full 128-bit difficulty from monerod
2021-09-03 22:45:55 +02:00
SChernykh
661d596107
api: store difficulty and totalHashes for each block
2021-09-03 18:04:54 +02:00
SChernykh
2d8530798d
Unit tests for difficulty_type
2021-09-03 11:32:11 +02:00
SChernykh
b26c4616d7
Fixed wrong diff in api/network/stats
2021-09-02 23:39:47 +02:00
SChernykh
70ff4ba859
Tweaked peer list logic
2021-09-02 19:21:38 +02:00
SChernykh
bab148fbad
Added cppcheck scripts
2021-09-02 12:35:36 +02:00
SChernykh
55f8e9dc33
Added total blocks found
2021-09-02 09:02:24 +02:00
SChernykh
fbdef7d058
Count all miners that were active in last 24 hours
2021-09-01 20:48:03 +02:00
SChernykh
e1b4649c2a
Added pool blocks
2021-09-01 17:35:54 +02:00
SChernykh
73da71a2d3
Renamed next payout to block reward share
2021-09-01 16:34:10 +02:00
SChernykh
533cc202d2
Added pool stats
2021-09-01 16:28:05 +02:00
SChernykh
295cbda449
p2pool: export data to an external web-server
...
Dumps data to JSON files which can be later served by a web-server.
2021-09-01 14:11:28 +02:00
SChernykh
5d6fa03f11
Show all Monero block rewards in log
2021-09-01 10:43:10 +02:00
SChernykh
75843e9b37
P2PServer: don't broadcast stale blocks
2021-08-31 23:41:05 +02:00
SChernykh
1a83610299
P2PServer: simplified the code a bit
2021-08-31 23:11:58 +02:00
SChernykh
5f406a60a6
StratumServer: added keepalived method
2021-08-31 20:57:01 +02:00
SChernykh
5eea610f3c
Stricter wallet address checks
2021-08-31 18:26:28 +02:00
SChernykh
e44919c289
Changed pool name for the new test
2021-08-31 17:25:01 +02:00
SChernykh
780afd84a2
Added checks for tx keys
2021-08-31 17:23:20 +02:00
SChernykh
0558cdb9cc
Fixed share effort calculation
2021-08-31 15:14:33 +02:00
SChernykh
7364292ece
Fixed average effort calculation
2021-08-31 14:59:36 +02:00
SChernykh
662a7e91c8
P2PServer: always ban IPs that send bad blocks
2021-08-31 13:14:35 +02:00
SChernykh
8064865ba5
Fixed setting max log level from command line
2021-08-31 11:18:40 +02:00
SChernykh
7b197824fe
P2PServer: add peers from the command line to the peer list on startup
2021-08-31 11:16:40 +02:00
SChernykh
114f6b627b
P2PServer: don't allow multiple connections to/from the same IP
2021-08-31 10:41:41 +02:00
SChernykh
4757cdb8e2
P2PServer: added 1 second grace time for stale shares
...
Only for shares that lag 1 Monero block behind
2021-08-31 09:58:57 +02:00
SChernykh
bb8ff24db8
StratumServer: added avg effort and number of shares to status
2021-08-30 20:49:51 +02:00
SChernykh
4ac08ac10d
StratumServer: print current effort in status
2021-08-30 19:45:37 +02:00
SChernykh
891ee36e53
Force update average hashrates when print_status() is called
2021-08-30 17:50:09 +02:00
SChernykh
d1e94d6e1a
StartumServer: print average hashrate in status
2021-08-30 16:51:23 +02:00
SChernykh
a2f6e73122
JSONRPCRequest: more informative error messages
2021-08-30 14:28:23 +02:00
SChernykh
9120b86007
Fixed use of out of scope variable
2021-08-30 01:21:46 +02:00
SChernykh
bb7720968f
Tweaked log levels
2021-08-29 19:20:36 +02:00
SChernykh
dac74a8829
Update p2p_server.cpp
2021-08-29 17:42:49 +02:00
SChernykh
dd9166e91c
Update dataset at normal thread priority
2021-08-29 17:36:10 +02:00
SChernykh
456f5d356f
P2PServer: ban peers only after handshake finished and failed
2021-08-29 17:26:30 +02:00
SChernykh
541b3c653d
Enable 4-byte target format for diff up to 4 million
2021-08-29 08:46:23 +02:00
SChernykh
519b4b548d
Relax JSON parsing
...
Allow comments and trailing commas
2021-08-29 08:39:17 +02:00
SChernykh
8e29abd906
Small fixes
2021-08-29 00:13:53 +02:00
SChernykh
8a26498b66
Tweaked log levels
2021-08-28 23:34:46 +02:00
SChernykh
ff4d89868b
StratumServer: Use short target format (4 bytes) for diff <= ~2 million
2021-08-28 19:50:48 +02:00
SChernykh
4175f4c8bc
StratumServer: ban clients that send incorrect shares
2021-08-28 18:40:50 +02:00
SChernykh
9e438210d1
StratumServer: support custom fixed difficulty
...
Example (set fixed difficulty 10000)
`"user":"x+10000"` in config.json or
`-u x+10000` in command line
2021-08-28 17:23:16 +02:00
SChernykh
46ce4ebee7
check_pow: fixed carry calculation
2021-08-28 11:50:20 +02:00
SChernykh
0be078cb09
StartumServer: moved warnings to log level 4
2021-08-28 08:30:17 +02:00
SChernykh
14bb308794
P2PServer: clear m_missingBlockRequests when there is nothing missing
2021-08-27 21:09:35 +02:00
SChernykh
f9be0de8d2
P2PServer: ask peers about unknown blocks only once
2021-08-27 17:26:42 +02:00
SChernykh
81a12158fc
P2PServer: don't add banned peers back to the peer list
2021-08-27 16:36:06 +02:00
SChernykh
8304d81961
Prepare for mainnet test
2021-08-27 11:30:03 +02:00
SChernykh
27c2aab145
Check network type at startup
...
- Make network type part of consensus ID to avoid mixing p2pool nodes from mainnet and testnet/stagenet
- Check that wallet address matches the network type of monerod
2021-08-27 11:25:25 +02:00
SChernykh
afca83d6c2
BlockCache: check block size before storing it
2021-08-27 10:37:14 +02:00
SChernykh
2761ce5af7
Fixed a leak in ZMQReader
2021-08-27 10:32:31 +02:00
SChernykh
776b1f561c
Fixed use after free on p2pool shutdown
2021-08-27 10:13:33 +02:00
SChernykh
715c0d4e14
Reduced cache size a bit
2021-08-27 10:12:41 +02:00
SChernykh
3ea71d51e5
Fixed crash on startup
2021-08-27 00:41:09 +02:00
SChernykh
f77e0434c6
Fixed TCPServer startup
2021-08-27 00:19:01 +02:00
SChernykh
3f1ee9ce4b
TCPServer fixes
...
- Proper shutdown sequence, uv_close() must be called from the event loop thread
- Moved start_listening() to child class constructor because it must be ready before it can listen on sockets
- Added simple memory leak detector for Windows. Linux users can enjoy the leak sanitizer
2021-08-26 23:57:59 +02:00
SChernykh
27e85a922b
TCPServer: fixed more leaks on shutdown
2021-08-26 19:14:04 +02:00
SChernykh
4ba32277c1
Use p2pool-api branch for Monero
2021-08-26 15:36:40 +02:00
SChernykh
37f3312e1d
Submit received p2pool blocks to monerod when possible
2021-08-25 22:07:42 +02:00
SChernykh
125815b502
Made print_status() thread-safe
2021-08-25 21:00:06 +02:00
SChernykh
63e442dffd
print_status: fixed next payout display
2021-08-25 18:52:09 +02:00
SChernykh
0009eba307
Fix RandomX startup logic
...
Ensure that both RandomX caches initialize before stratum and p2p servers start.
2021-08-25 18:31:42 +02:00
SChernykh
276cc5f0fd
Fix Mac compilation
2021-08-25 18:16:26 +02:00
SChernykh
fa3146a8f3
Reverted force close TCP connections
2021-08-25 17:27:46 +02:00
SChernykh
230d3e4780
Fixed socket leak after a failed connection
2021-08-25 17:18:59 +02:00
SChernykh
d246ee1552
Enabled block cache for Mac
2021-08-25 16:26:15 +02:00
SChernykh
46b7c3e755
TCPServer: stop reading before closing connection
2021-08-25 16:19:21 +02:00
SChernykh
662865ad70
Reduced startup spam at log levels <= 5
2021-08-25 15:01:05 +02:00
SChernykh
68a4765f95
Force close TCP connections
2021-08-25 14:53:45 +02:00
SChernykh
924fd4b7bd
TCPServer: better tracking of used sockets
2021-08-25 13:58:00 +02:00
SChernykh
a38a7be73f
p2pool: submit block from the main thread only
2021-08-25 12:45:14 +02:00
SChernykh
8f93adf7a1
Refactored signal handler
...
Call the same stop() function as regular exit command
2021-08-25 12:28:15 +02:00
SChernykh
d8efb27374
Restrict uv_default_loop() to main thread
2021-08-25 12:17:14 +02:00
SChernykh
dbf18c34a4
Fixed wrong uv loop in p2pserver::flush_cache()
2021-08-25 11:31:50 +02:00
SChernykh
fcb9e25fb1
Print background jobs in status
2021-08-25 11:31:35 +02:00
SChernykh
7ab3c22114
Give only 5 seconds for new connections to complete handshake
...
This is to detect random port scans/non-p2pool connections quickly
2021-08-25 11:14:23 +02:00
SChernykh
336349e189
Show hashrate estimate in status
2021-08-25 11:13:38 +02:00
SChernykh
8f2493edfc
Log message fixes
2021-08-25 09:52:06 +02:00
SChernykh
a27577f735
Added log level 6 to reduce spam on level 5
...
Log level 5 is still default
2021-08-25 09:38:47 +02:00
SChernykh
09aedd9f9a
Drop idle connections
...
Idle = didn't send any full messages in the last 5 minutes
2021-08-24 21:45:19 +02:00
SChernykh
cd532965e8
Code safety: BlockCache isn't supposed to be copied/moved
2021-08-24 21:06:47 +02:00
SChernykh
64885852dd
Limit max number of transactions in block template
...
Because if it's too high, it won't fit into p2p packet
2021-08-24 20:54:02 +02:00
SChernykh
6de98697a1
Only warn about lagging monerod if it's 2 or more blocks behind
2021-08-24 20:10:16 +02:00
SChernykh
02449bf9f9
Use UTC time for logging
2021-08-24 18:56:14 +02:00
SChernykh
e4be4c1a66
Fixed pruning logic
...
- Erase an element from m_blocksByHeight only if it's empty
- Remove blocks from unconnected alternative chains too when they get old enough (4xPPLNS window)
2021-08-24 18:34:28 +02:00
SChernykh
d4388bf9c0
Removed unnecessary lock
2021-08-24 17:56:36 +02:00
SChernykh
20b3886bfb
Less tolerance to lagging nodes
...
Ban nodes that are 5 or more Monero blocks behind.
2021-08-24 17:19:10 +02:00
SChernykh
a55545762b
Merge branch 'master' of https://github.com/SChernykh/p2pool
2021-08-24 13:46:53 +02:00
SChernykh
69533fd209
Store only fully verified blocks in the cache
2021-08-24 13:46:38 +02:00
SChernykh
90a977228b
Merge pull request #2 from hyc/cmds
...
Tweak command handling
2021-08-24 14:37:03 +03:00
SChernykh
4837b4c863
Added missing integrity check
2021-08-24 13:33:55 +02:00
SChernykh
15354e5a88
Update util.cpp
2021-08-24 13:22:56 +02:00
Howard Chu
0dc3baa480
Tweak command handling
...
Modularize, add help and exit commands.
Fix shutdown_tcp() and p2pool to make sure servers exit immediately
when terminating.
2021-08-24 11:55:59 +01:00
SChernykh
05d336c8e9
Update block_cache.cpp
2021-08-24 12:45:11 +02:00
SChernykh
1cf4071f9b
BlockCache (Linux version)
2021-08-24 12:36:59 +02:00
SChernykh
bf5db3db08
Update p2pool.cpp
2021-08-24 12:01:43 +02:00
SChernykh
3229909333
Update p2pool.cpp
2021-08-24 11:59:59 +02:00
SChernykh
9808685981
Update stratum_server.cpp
2021-08-24 11:51:11 +02:00
SChernykh
aba3bc50b8
Block cache WIP and other fixes
...
- Block cache is implemented only on Windows for now
- Tracking of background jobs
- More robust sidechain syncing
2021-08-24 11:42:41 +02:00
SChernykh
86b31ea821
Reduce broadcast spam after initial sync
2021-08-24 00:27:48 +02:00
SChernykh
25ef5733a7
Skip duplicates in the saved peers list
2021-08-23 23:12:52 +02:00
SChernykh
fda80e3556
Sanity check
2021-08-23 23:09:59 +02:00
SChernykh
6d3cfa2c7a
Couple more sanity checks
2021-08-23 23:08:46 +02:00
SChernykh
656f912a3e
Workaround for crashes on shutdown
2021-08-23 22:50:36 +02:00
SChernykh
c4d3f6f8b4
Fixed parse_address_list()
2021-08-23 22:24:26 +02:00
SChernykh
2f08a35ac7
Fixed logger thread start/stop logic
2021-08-23 17:36:17 +02:00
SChernykh
df52838433
Removed some noisy warning messages
2021-08-23 14:05:07 +02:00
SChernykh
39a8c68ab7
More clang fixes
2021-08-23 11:44:26 +02:00
SChernykh
4a5691e349
clang fixes
2021-08-23 11:31:16 +02:00
SChernykh
510b7dbb85
Add files
2021-08-22 12:20:59 +02:00