Commit Graph

704 Commits (7b02c3d24a43b922b2568c883009df40e4aab013)

Author SHA1 Message Date
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
SChernykh 15d25bca27 Fixed data race 2022-12-22 20:30:20 +01:00
SChernykh dffc8bcea0 Fixed cppcheck issues 2022-12-22 14:08:49 +01:00
SChernykh a61966ed61 Don't count shares that were found during sync 2022-12-22 11:48:50 +01:00
SChernykh e6d77a40e2 Check block major version in `deserialize()` 2022-12-19 10:29:29 +01:00
SChernykh edcb933874 Call `get_miner_data` again after startup is done
Startup sequence can take a while, so miner data can change - new transactions added, or a new block found by the network.
2022-12-18 11:46:18 +01:00