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
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
a2afa29052
Updated copyright
2022-03-30 14:42:26 +02: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
cc6ce4a366
Reset stratum share counters after initial sync
2022-02-17 11:19:11 +01:00
SChernykh
9f449320b5
StartumServer: disconnect and ban inactive clients
2022-02-08 15:00:08 +01:00
SChernykh
f9def6cb73
Added "calc_pow" RPC support
2021-11-21 09:12:21 +01:00
SChernykh
352ad81a0a
StratumServer: faster processing of regular shares
2021-10-21 19:09:36 +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
9e90e988fa
Refactored array_size to make it always constexpr
2021-10-14 16:46:49 +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
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
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
5c92920619
Default log level 3
...
Also refactored default port numbers
2021-09-18 10:03:06 +02:00
SChernykh
f3b6423d4c
Log difficulty for found pool shares
2021-09-05 22:57:36 +02:00
SChernykh
f3ee444aed
Stratum server: log IP addresses that send bad data
2021-09-05 19:16:23 +02:00
SChernykh
b31adbd5ae
Added macOS build
2021-09-05 12:10:40 +02:00
SChernykh
1554a44f5c
Added more integrity checks
2021-09-04 09:10:44 +02:00
SChernykh
5f406a60a6
StratumServer: added keepalived method
2021-08-31 20:57:01 +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
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
541b3c653d
Enable 4-byte target format for diff up to 4 million
2021-08-29 08:46:23 +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
0be078cb09
StartumServer: moved warnings to log level 4
2021-08-28 08:30:17 +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
a38a7be73f
p2pool: submit block from the main thread only
2021-08-25 12:45:14 +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
6d3cfa2c7a
Couple more sanity checks
2021-08-23 23:08:46 +02:00
SChernykh
510b7dbb85
Add files
2021-08-22 12:20:59 +02:00