Commit Graph

589 Commits (master)

Author SHA1 Message Date
SChernykh 340a3e85c8 Fixed autodiff when running for a long time
2 years ago
SChernykh 64baf660bb JSON RPC: fixed shutdown on connect error
2 years ago
SChernykh c5ea4dca67 p2pool v2.2
2 years ago
SChernykh deaf47155f Miner: reset share counter when synchronized
2 years ago
SChernykh a1d1420ec3 Miner: display shares found in status
2 years ago
SChernykh deb8d59130 Fixed cppcheck error
2 years ago
SChernykh 14bbf96feb Enforce deterministic tx keys starting from v15
2 years ago
SChernykh a281db1cbb Fixed unaligned read
2 years ago
SChernykh b25e5449c8 Fixed rare "low diff share" errors
2 years ago
SChernykh b267c19a45 Limit autodiff to 4M for max compatibility
2 years ago
SChernykh 2aa8d2bdcc Code cleanup
2 years ago
SChernykh acf37ff10f Added json parser tests
2 years ago
SChernykh 921cbb0b69 ConsoleCommands: don't exit on EOF
2 years ago
SChernykh 7f1b849394 Fixed new cppcheck issues
2 years ago
SChernykh 9f4388843a Fixed error messages
2 years ago
SChernykh 37fba30c79 JSON RPC: fixed error checking
2 years ago
SChernykh 8f1fd55e2f Fixed more memory leaks in TCPServer
2 years ago
SChernykh 8af9e9b27d Fixed memory leaks
2 years ago
SChernykh 8b681d6efb Added memory hooks for CURL
2 years ago
SChernykh a0778c8d7b CURL error checking
2 years ago
SChernykh a35d4b2701 Change llhttp to libcurl
2 years ago
SChernykh 05b0973a23 More reliable p2pool shutdown logic
2 years ago
SChernykh 09f46beeb4 SideChain: added more checks to is_longer_chain()
2 years ago
SChernykh 6ef34bb3f5 Enabled more compiler warnings
2 years ago
SChernykh 9a5be0a321 p2pool v2.1
2 years ago
SChernykh c203f6eb0a Fixed a new cppcheck issue
2 years ago
SChernykh 111087d96a Fixed block reward share calculation
2 years ago
SChernykh 9e7666d12f Fixed data races
2 years ago
SChernykh cb147773b5 Updated cppcheck workflow on Linux
2 years ago
SChernykh d84bef8f14 Added block reward share percent to miner api
2 years ago
SChernykh 6d121122f8 Fixed compiler warnings in tests
2 years ago
SChernykh 0e222afd6a Exit if server startup fails
2 years ago
SChernykh b191962d32 Handle startup errors without calling abort()
2 years ago
SChernykh 1cf13e142a SideChain: fixed alternative chain detection
2 years ago
SChernykh 8f1f81749d StratumServer: reset cumulative hashes too
2 years ago
SChernykh 72d70eba16 SideChain: added "synchronized" log message
2 years ago
SChernykh ae3612f595 Fixed worker diff display when autodiff is off
2 years ago
SChernykh 37b6457054 Show worker hashrate only when autodiff is on
2 years ago
SChernykh 9579be5c7d Optimized SideChain::miner_count()
2 years ago
SChernykh d05d47fa75 Fixed compilation
2 years ago
SChernykh bd88c04e9e SideChain: mutex locks refactoring
2 years ago
SChernykh eb3a3872eb Fixed missing blocks download logic
2 years ago
SChernykh 5cea7be405 Allow only one pending get_miner_data
2 years ago
SChernykh 516c382fe4 Update keccak.cpp
2 years ago
SChernykh 710e55422a Ignore duplicate get_miner_data
2 years ago
SChernykh 3406cf78b4 Don't return stale chain tip to other peers
2 years ago
SChernykh 8fa354796c Reload peer list when there are no connections
2 years ago
SChernykh 6c6ef1c1b8 Restart ZMQ connection if it looks dead
2 years ago
SChernykh c3c326c680 Suppress MSVC warnings
2 years ago
SChernykh 92e20485b2 Log: don't allow side effects in LOG() calls
2 years ago
SChernykh edd782ac23 Fixed custom worker names
2 years ago
SChernykh a4d84e318d TCPServer: refactored Client constructor
2 years ago
SChernykh 134f2d68a3 Fixed data races
2 years ago
SChernykh d23c46ff84 Added bsr() function to util
2 years ago
SChernykh 820c5db5e8 Log: check for logrotate only once per loop
2 years ago
SChernykh 990916ab62 StratumServer: added autodiff
2 years ago
SChernykh d4e362cd76 TCPServer: optimized Client struct size
2 years ago
SChernykh 1dd06cc509 Removed std::string to avoid memory allocation
2 years ago
SChernykh 2e2bd1d137 Added log padding
2 years ago
SChernykh 0818d91f4f StratumServer: added console command `workers`
2 years ago
SChernykh 1a35177633 Fixed unsafe usage of log::Stream buffers
2 years ago
SChernykh 8f27d940e3 Don't ban localhost
2 years ago
SChernykh 6b4640c413 Fixes for Termux
2 years ago
SChernykh 8aebcdc580 p2pool v2.0
2 years ago
SChernykh 54acfee036
Merge pull request #144 from SChernykh/view_tags
2 years ago
SChernykh a78ddb50d5 Fixed logger thread timing logic
2 years ago
SChernykh b2f86a5f6b Ban peers with stuck or lagging monerod
2 years ago
SChernykh 2a77695832 Fixed data races in miner
2 years ago
SChernykh 21d8cb917b Fixed data race in logger
2 years ago
SChernykh 2c70bf8616 View tags support
2 years ago
SChernykh 7522111bb7 Fixed data races
2 years ago
SChernykh 7b5b910f3f Undefined behaviour fixes
2 years ago
SChernykh afb52e4235 Check return value (Coverity fix)
2 years ago
SChernykh 93cd9a659a Code cleanup
2 years ago
SChernykh 9e287ab4f0 Logger fixes
2 years ago
SChernykh 094209f311 P2PServer: optimized update_peer_connections()
2 years ago
SChernykh dee66c3f32 Added varint unit tests
2 years ago
SChernykh 32533e3c96 FreeBSD build
2 years ago
SChernykh 1b3c1eb850 P2PServer: increased peer timeout to 15 minutes
2 years ago
SChernykh 7fe032915f Ignore SIGPIPE
2 years ago
SChernykh 5b9b73abcc p2pool v1.9
2 years ago
SChernykh a2afa29052 Updated copyright
2 years ago
SChernykh a2d3dbad5e Use old bock template when update fails
2 years ago
SChernykh e50cf060cb Miner: fixed share counter initialization
2 years ago
SChernykh 915988d694 Added logging for the extra_nonce fix
2 years ago
SChernykh a7aed2f221 Fixed miner tx creation
2 years ago
SChernykh 292e2580e5 Make sure dataset init doesn't block start
2 years ago
SChernykh 028a5d0c88 Fixed memory leak after loading block cache
2 years ago
SChernykh 8b27faad6d BlockCache: fixed collisions of same height blocks
2 years ago
SChernykh cdc3206ee8 Optimized keccak
2 years ago
SChernykh 0c2b7d6010 More time handling fixes
2 years ago
SChernykh ef15c3b54f Show sidechain ID in status
2 years ago
SChernykh f4bcdc7fe9 Use steady_clock to time peer list requests
2 years ago
SChernykh aada1bb5cc Use chrono::steady_clock for internal timestamps
2 years ago
SChernykh c21d052d7a Refactored RNG usage across the code
2 years ago
SChernykh 62b1690780 Added an option to disable RandomX for the build
2 years ago
SChernykh 0db57e5047 p2pool v1.8
2 years ago
SChernykh e7919514d4 TCPServer: fixed uninitialized variables
2 years ago
SChernykh 7ab21c6afd TCPServer: reduced memory usage
2 years ago
SChernykh 2209e0cc70 P2PServer: relaxed peer list request restriction
2 years ago
SChernykh a73b4616a4 Fixed Coverity issues
2 years ago
SChernykh 9593311332 Added `bans` console command
2 years ago
SChernykh 9a09d15bea P2PServer: use high_resolution_clock for ping time
2 years ago
SChernykh f082488e4b TCPServer: use steady_clock for bans
2 years ago
SChernykh 752e2381d6 P2PServer: added more protocol checks
2 years ago
SChernykh de9f13d393 Check for unknown command line parameters
2 years ago
SChernykh 272d206741 stats_mod api: updated min payout value
2 years ago
SChernykh 8045c40026 Check for proper `--local-api` usage
2 years ago
SChernykh d4a1b14820 Use monerod peers to find p2pool nodes
2 years ago
SChernykh cc6ce4a366 Reset stratum share counters after initial sync
2 years ago
SChernykh 42370bf11e p2pool v1.7
2 years ago
SChernykh ec2f4467fb Added `--mini` command line option to connect to p2pool-mini
2 years ago
SChernykh 9f449320b5 StartumServer: disconnect and ban inactive clients
2 years ago
SChernykh 8767ef9e19 Display payout amount when a block is found
2 years ago
SChernykh cf184295b4 Updated version
2 years ago
SChernykh 1e4e4bd08e Added miner statistics to data api
2 years ago
SChernykh a640e41d74 Improved RNG initialization
2 years ago
SChernykh 38ffd73b54 Fixed new Coverity issue
2 years ago
SChernykh c10a5ce323 Miner code cleanup
2 years ago
SChernykh e2931f94b5 Added embedded miner
2 years ago
SChernykh 248fcee174 Update version
2 years ago
SChernykh 89bcceb986 Added p2pool mini seed nodes and default port
2 years ago
SChernykh 2b01350add Added `outpeers` and `inpeers` console commands
2 years ago
SChernykh f1b6212c82 P2PServer: add connection limits
2 years ago
SChernykh d8bba4dc82 Updated version mismatch error message
3 years ago
SChernykh eaf29872cb Update version
3 years ago
SChernykh f9def6cb73 Added "calc_pow" RPC support
3 years ago
SChernykh 07cfb54bdc JSONRPCRequest: fixed undefined behavior in the error handler
3 years ago
SChernykh 5dd8d11b72 TCPServer: removed unused field
3 years ago
SChernykh e44baad73c Update version
3 years ago
SChernykh bb7a5b4d6d Cleanup
3 years ago
SChernykh 64116643c2 Fixed block broadcasts
3 years ago
SChernykh 1e4c6ef5f4 Added block verification test
3 years ago
SChernykh 61edc6ed70 Reduce cache flush frequency to once per minute
3 years ago
SChernykh dff2413cae TCPServer: make write buffers global
3 years ago
SChernykh 998c2ba72f Fixed msys2 build crash
3 years ago
SChernykh b56d027dd5 Include P2P peer list into miner count
3 years ago
SChernykh eaed654012 Check for missing data from monerod on each new block
3 years ago
SChernykh 981b161cc9 SideChain: faster processing of repeated broadcasts
3 years ago
SChernykh f59e9171e8 SideChain: use a separate lock for m_seenBlocks
3 years ago
SChernykh b45540ca08 TCPServer: clean up old IP bans
3 years ago
SChernykh 806e1ca0a3 SideChain: faster check for low-diff spam blocks
3 years ago
SChernykh 113e39817d Cleanup old Monero blocks data
3 years ago
SChernykh 0869326f39 SideChain: count miners in the last 48 hours
3 years ago
SChernykh 75d62c0303 SideChain: cleanup m_seenBlocks when pruning old blocks
3 years ago
SChernykh da4686b88f ZMQReader: start after initial RPC calls are finished
3 years ago
SChernykh a008eac8c6 ZMQReader: more reliable connect()
3 years ago
SChernykh 3d60ae8c32 Fix: don't start until monerod is fully synchronized
3 years ago
SChernykh 88f346414a Fixed race condition when using --no-color
3 years ago
SChernykh 2071a24a9f Update version
3 years ago
SChernykh 1c0da4513f Added `--no-color` command line option
3 years ago
SChernykh 6a002cda46 Create msvc-analysis.yml
3 years ago
SChernykh c0c210664a Show uptime in status
3 years ago
SChernykh 6859d11445 Disable console quick-edit mode on Windows
3 years ago
SChernykh 111324b6e0 Added console command to show connected peers
3 years ago
SChernykh 148b9dd294 Switch to faster unordered_map/set
3 years ago
SChernykh 04d18cdf1d P2PServer: fixed m_timer leak
3 years ago
SChernykh 352ad81a0a StratumServer: faster processing of regular shares
3 years ago
SChernykh d26902468d P2PServer: peer list tweaks
3 years ago
SChernykh 0382027d70 Fixed wrong error message
3 years ago
SChernykh 966b499e5c ZMQReader: keep trying to connect on startup
3 years ago
SChernykh 9885f82e9e Limit user name length to 64 characters
3 years ago
WeebDataHoarder bc341918f6 Decode custom user from stratum client, display stratum client+user on SHARE FOUND and client mainchain found message
3 years ago
SChernykh f17c23528a Update version
3 years ago
SChernykh a06f4dcdcd P2PServer: fixed ever growing memory usage
3 years ago
SChernykh 816a29c5ab Added `--no-cache` command line parameter
3 years ago
SChernykh 285560e120 Fixed possible sidechain split during RandomX epoch change
3 years ago
SChernykh 39ba5c4131 P2PServer: check for messages that shouldn't be sent
3 years ago
SChernykh 9b86f8e81f Peer list refactoring
3 years ago
SChernykh 9e90e988fa Refactored array_size to make it always constexpr
3 years ago
SChernykh 39b2167c98 Show correct max log level in usage
3 years ago
SChernykh f3024d3556 StratumServer: submit Monero block as soon as possible
3 years ago
SChernykh 61ac90f1d5
Fixed typo
3 years ago
SChernykh 60a8538e0c P2PServer: show an error when there are no ZMQ messages
3 years ago
SChernykh 77a3a5857c P2PServer: show an error when there are no connections
3 years ago
SChernykh af2a8eeb08 Tweaked warning level for lagging nodes
3 years ago
SChernykh 54d0ab3658 Move most block broadcasts to log level 6
3 years ago
SChernykh c9faa92098 StratumServer: fixed "bad share" ban logic
3 years ago
SChernykh 52e5008bf4 Refactoring
3 years ago
SChernykh a0a31b0f3b
Merge pull request #51 from Tonux599/stratumServerJson-staging
3 years ago
Thomas Clarke 7742d163f7
API for stratum server statistics.
3 years ago
SChernykh 7d66864b01 Print P2Pool version
3 years ago
SChernykh 2a3cd13b19 P2PServer: delete old cached blocks after initial sync
3 years ago
SChernykh 4bcaa41c8e Clear crypto derivation/key cache when a block is found
3 years ago
SChernykh 4fce76576f ZMQ reader: abort if connect to monerod failed
3 years ago
SChernykh f05f7c4268 Fixed wrong nonce values in submit_block error log
3 years ago
SChernykh ae8733c187 Update RandomX
3 years ago
SChernykh 5c92920619 Default log level 3
3 years ago
SChernykh b4ea125a8a Hardcode default consensus ID for faster startup
3 years ago
SChernykh 8aa9e54dc4 BlockTemplate: wait for 10 seconds before including new transactions
3 years ago
SChernykh b35b4a9f76 Crypto: added cache for faster key derivation
3 years ago
SChernykh ba6a2c8eb2 P2PServer: relax stale block restriction
3 years ago
SChernykh 14e26f5c17 Fix: always check before closing TCP handles
3 years ago
SChernykh 4c5144b37f Check monerod RPC version at startup
3 years ago
SChernykh 42dd58d778 P2PServer: check broadcasts for wrong height
3 years ago
SChernykh da0f376bef P2PServer: ban peers that don't broadcast blocks
3 years ago
SChernykh 0d439e7712 SideChain: submit blocks to monerod in more cases
3 years ago
SChernykh b8f04ac787 Tweaked block broadcast rules
3 years ago
WeebDataHoarder 7bad1e05a4 Implemented shares/uncles position chart on status command
3 years ago
SChernykh 74096248e1 Better error handling of Monero RPC requests
3 years ago
SChernykh 36ee76d4d2 data api: fixed one block missing to calculate effort
3 years ago
SChernykh 3aa270a072 Fix for older compilers
3 years ago
SChernykh 7a97171b03 Tweaked block broadcast rules
3 years ago
SChernykh 52f195b89f Tweaked idle peer detection
3 years ago
SChernykh ee7a1e54f7 DNS name resolution for command line parameters
3 years ago
SChernykh c8a2a256e7 Fixed RandomX VM initialization
3 years ago
SChernykh 57bc38d2bb data api: added stats_mod
3 years ago
SChernykh a332ac7d26 P2PServer: load peers from DNS
3 years ago
SChernykh 7ea1913a9d Update log.h
3 years ago
SChernykh 73c8b1294a P2PServer: connect to peers from the event loop thread
3 years ago
SChernykh ce8ec3860d Fixed memory leak
3 years ago
SChernykh 25772abc0f Show block share % in status
3 years ago
SChernykh 899d5a82dd data api: check p2pool shares that come after a Monero block
3 years ago
SChernykh 7b0cc256c5 P2PServer: ban peers that disconnect without finishing handshake
3 years ago
SChernykh d3dc4c731f Added more tests
3 years ago
SChernykh e264377f0e Added more checks
3 years ago
SChernykh a36825424b Fixed some Coverity reports
3 years ago
SChernykh 2ecd935bc5 data api: fixed saving of p2pool.blocks
3 years ago
SChernykh f3b6423d4c Log difficulty for found pool shares
3 years ago
SChernykh 82a88ce0ef data api: added block hashes to pool/blocks
3 years ago
SChernykh 884d0f180a TCP server: log IP addresses in more places
3 years ago
SChernykh f3ee444aed Stratum server: log IP addresses that send bad data
3 years ago
SChernykh dd0a35fb79 Show pool-side hashrate in status only when it's not zero
3 years ago
SChernykh 4deef2f807 Added cppcheck workflow
3 years ago
SChernykh b31adbd5ae Added macOS build
3 years ago
SChernykh e527b0c660 Added Windows builds
3 years ago
SChernykh b17723f1e4 Removed unused code
3 years ago
SChernykh 1554a44f5c Added more integrity checks
3 years ago
SChernykh 08d2fbdbd1 Parse full 128-bit difficulty from monerod
3 years ago
SChernykh 661d596107 api: store difficulty and totalHashes for each block
3 years ago
SChernykh 2d8530798d Unit tests for difficulty_type
3 years ago
SChernykh b26c4616d7 Fixed wrong diff in api/network/stats
3 years ago
SChernykh 70ff4ba859 Tweaked peer list logic
3 years ago
SChernykh bab148fbad Added cppcheck scripts
3 years ago
SChernykh 55f8e9dc33 Added total blocks found
3 years ago
SChernykh fbdef7d058 Count all miners that were active in last 24 hours
3 years ago
SChernykh e1b4649c2a Added pool blocks
3 years ago
SChernykh 73da71a2d3 Renamed next payout to block reward share
3 years ago
SChernykh 533cc202d2 Added pool stats
3 years ago
SChernykh 295cbda449 p2pool: export data to an external web-server
3 years ago
SChernykh 5d6fa03f11 Show all Monero block rewards in log
3 years ago
SChernykh 75843e9b37 P2PServer: don't broadcast stale blocks
3 years ago
SChernykh 1a83610299 P2PServer: simplified the code a bit
3 years ago
SChernykh 5f406a60a6 StratumServer: added keepalived method
3 years ago
SChernykh 5eea610f3c Stricter wallet address checks
3 years ago
SChernykh e44919c289 Changed pool name for the new test
3 years ago
SChernykh 780afd84a2 Added checks for tx keys
3 years ago
SChernykh 0558cdb9cc Fixed share effort calculation
3 years ago
SChernykh 7364292ece Fixed average effort calculation
3 years ago
SChernykh 662a7e91c8 P2PServer: always ban IPs that send bad blocks
3 years ago
SChernykh 8064865ba5 Fixed setting max log level from command line
3 years ago
SChernykh 7b197824fe P2PServer: add peers from the command line to the peer list on startup
3 years ago
SChernykh 114f6b627b P2PServer: don't allow multiple connections to/from the same IP
3 years ago
SChernykh 4757cdb8e2 P2PServer: added 1 second grace time for stale shares
3 years ago
SChernykh bb8ff24db8 StratumServer: added avg effort and number of shares to status
3 years ago
SChernykh 4ac08ac10d StratumServer: print current effort in status
3 years ago
SChernykh 891ee36e53 Force update average hashrates when print_status() is called
3 years ago
SChernykh d1e94d6e1a StartumServer: print average hashrate in status
3 years ago
SChernykh a2f6e73122 JSONRPCRequest: more informative error messages
3 years ago
SChernykh 9120b86007 Fixed use of out of scope variable
3 years ago
SChernykh bb7720968f Tweaked log levels
3 years ago
SChernykh dac74a8829 Update p2p_server.cpp
3 years ago
SChernykh dd9166e91c Update dataset at normal thread priority
3 years ago
SChernykh 456f5d356f P2PServer: ban peers only after handshake finished and failed
3 years ago
SChernykh 541b3c653d Enable 4-byte target format for diff up to 4 million
3 years ago
SChernykh 519b4b548d Relax JSON parsing
3 years ago
SChernykh 8e29abd906 Small fixes
3 years ago
SChernykh 8a26498b66 Tweaked log levels
3 years ago
SChernykh ff4d89868b StratumServer: Use short target format (4 bytes) for diff <= ~2 million
3 years ago
SChernykh 4175f4c8bc StratumServer: ban clients that send incorrect shares
3 years ago
SChernykh 9e438210d1 StratumServer: support custom fixed difficulty
3 years ago
SChernykh 46ce4ebee7 check_pow: fixed carry calculation
3 years ago
SChernykh 0be078cb09 StartumServer: moved warnings to log level 4
3 years ago
SChernykh 14bb308794 P2PServer: clear m_missingBlockRequests when there is nothing missing
3 years ago
SChernykh f9be0de8d2 P2PServer: ask peers about unknown blocks only once
3 years ago
SChernykh 81a12158fc P2PServer: don't add banned peers back to the peer list
3 years ago
SChernykh 8304d81961 Prepare for mainnet test
3 years ago
SChernykh 27c2aab145 Check network type at startup
3 years ago
SChernykh afca83d6c2 BlockCache: check block size before storing it
3 years ago
SChernykh 2761ce5af7 Fixed a leak in ZMQReader
3 years ago
SChernykh 776b1f561c Fixed use after free on p2pool shutdown
3 years ago
SChernykh 715c0d4e14 Reduced cache size a bit
3 years ago
SChernykh 3ea71d51e5 Fixed crash on startup
3 years ago
SChernykh f77e0434c6 Fixed TCPServer startup
3 years ago
SChernykh 3f1ee9ce4b TCPServer fixes
3 years ago
SChernykh 27e85a922b TCPServer: fixed more leaks on shutdown
3 years ago
SChernykh 4ba32277c1 Use p2pool-api branch for Monero
3 years ago
SChernykh 37f3312e1d Submit received p2pool blocks to monerod when possible
3 years ago
SChernykh 125815b502 Made print_status() thread-safe
3 years ago
SChernykh 63e442dffd print_status: fixed next payout display
3 years ago
SChernykh 0009eba307 Fix RandomX startup logic
3 years ago
SChernykh 276cc5f0fd Fix Mac compilation
3 years ago
SChernykh fa3146a8f3 Reverted force close TCP connections
3 years ago
SChernykh 230d3e4780 Fixed socket leak after a failed connection
3 years ago
SChernykh d246ee1552 Enabled block cache for Mac
3 years ago
SChernykh 46b7c3e755 TCPServer: stop reading before closing connection
3 years ago
SChernykh 662865ad70 Reduced startup spam at log levels <= 5
3 years ago
SChernykh 68a4765f95 Force close TCP connections
3 years ago
SChernykh 924fd4b7bd TCPServer: better tracking of used sockets
3 years ago
SChernykh a38a7be73f p2pool: submit block from the main thread only
3 years ago