This repository has been archived by the owner on Jun 30, 2021. It is now read-only.
Releases: simplecrypto/powerpool
Releases · simplecrypto/powerpool
Hotfix duplicate share checker
Minor bugs and improvements, sphinx docs
Bugs
- default SHA256 hashes_per_share config was wrong
- Dont record shares in the share chain for merge mined currencies (thanks @sbwdlihao)
Improvements
- StratumServer now holds recent jobs in memory so that stale share tracking is more accurate. Also allows stale share tracking currency/algorithm information.
- Live job storage moved from Jobmanager to the StratumServer, allowing a more event like system and reducing coupling between Jobmanager and StratumServer
Docs
- Basic documentation has been added to ReadTheDocs, migrating and updating the README
- Configuration example has more helpful information about configuration
Bug fixes
- SIGHUP is now handled properly performing cleanup for all components
job_mapper
dictionary gets cleaned up every 10 pushes (keeping at least 10 pushes work of job mappings for stale difficulty determination)- Masternodes (Darkcoin) are now paid out dynamically only when needed
- A Nagios style check script added to contrib for checking stratum availability and performance
Addition of statsd support and several usability improvements
Bug Fixes
- "Status" keys from ppagent now expire properly
- Graceful shutdown now flushes queued "one minute shares" properly
Features
- Optional "events" config value sends various helpful performance stats to a statsd endpoint over UDP
- Blocking detector logs traceback when gevent hasn't context switched in 1 second
- Monitor views are substantially expanded to include more information
- Mining client version is now recorded on client object
- Added a minimum manual share difficulty setting
- Pool shares can now be reported in several very flexible ways
- All port numbers will now be based off of a "server_number" which is now a command line option as well, making clustering much easier
Improve abstractions through big rework
A bit rewrite again that improves decoupling between components in preparation for running them in separate processes.
Major rewrite with tons of improvements
Breaking Changes
- Now requires version 0.2.3 of cryptokit!
- Configuration file format has completely changed. Work from the config.yml.example file again.
- Requires very latest pre-release v0.7 of SimpleCoin. Optionally see commits simplecrypto/simplecoin@51c45b8, simplecrypto/simplecoin@06cc7dd, and simplecrypto/simplecoin@446d8b6 for suport
Features
- Big rewrites across codebase to a more class based, modular design.
- Reporter and jobmanager are now modular, allowing different modules to be used by simply changing config options.
- Default CeleryReporter now aggregates statistics and shares at a server wide level (instead of on a per-client basis) greatly reducing database chatter. For instance, 200 workers connected using the same address and worker name will only commit changes to the database twice a minute.
- Binding multiple stratum ports and agent server ports in the same server is now supported. Each port can have different configurations (vardiff on/off, different fixed diff, etc)
- Configurable idle worker detection
- Several new stats are now being collected, including number of celery tasks sent, new counts from every aux chain, and many more.
- Highly optimized job pushing code, reducing stale share amounts by 30-60% over previous version
- Greatly enhanced monitoring output. Logs number of solved/rejected/accepted blocks for both primary and aux chains, among several other useful bits of information.
- Daemon now gracefully shutsdown when HUP is sent, allowing upstart's
reload
command to work as desired without losing any aggregated shares. - Timing for statistics collection is now much lower overhead and much more precise.
- Full push block notifications for both aux chains and main chains is now supported through the use of OS signals.
Changes
- All blocks are now submitted by the jobmanager, isolating all RPC server interation to the jobmanager.
- Jobs now determine the algorithm that should be used, allowing more flexibility in the jobmanager.
- Several profiling entries have been added allowing detection of poor performance sections for future optimization.
Major rewrite with tons of improvements
Breaking Changes
- Now requires version 0.2.3 of cryptokit!
- Configuration file format has completely changed. Work from the config.yml.example file again.
- Requires very latest pre-release v0.7 of SimpleCoin. Optionally see commits simplecrypto/simplecoin@51c45b8, simplecrypto/simplecoin@06cc7dd, and simplecrypto/simplecoin@446d8b6 for suport
Features
- Big rewrites across codebase to a more class based, modular design.
- Reporter and jobmanager are now modular, allowing different modules to be used by simply changing config options.
- Default CeleryReporter now aggregates statistics and shares at a server wide level (instead of on a per-client basis) greatly reducing database chatter. For instance, 200 workers connected using the same address and worker name will only commit changes to the database twice a minute.
- Binding multiple stratum ports and agent server ports in the same server is now supported. Each port can have different configurations (vardiff on/off, different fixed diff, etc)
- Configurable idle worker detection
- Several new stats are now being collected, including number of celery tasks sent, new counts from every aux chain, and many more.
- Highly optimized job pushing code, reducing stale share amounts by 30-60% over previous version
- Greatly enhanced monitoring output. Logs number of solved/rejected/accepted blocks for both primary and aux chains, among several other useful bits of information.
- Daemon now gracefully shutsdown when HUP is sent, allowing upstart's
reload
command to work as desired without losing any aggregated shares. - Timing for statistics collection is now much lower overhead and much more precise.
- Full push block notifications for both aux chains and main chains is now supported through the use of OS signals.
Changes
- All blocks are now submitted by the jobmanager, isolating all RPC server interation to the jobmanager.
- Jobs now determine the algorithm that should be used, allowing more flexibility in the jobmanager.
- Several profiling entries have been added allowing detection of poor performance sections for future optimization.
Share overreport fix
Features
- Stale/Dup/Low percentages are now shown at main powerpool stats endpoint for convenience
- Hashrate on /clients stats endpoint is now correct
- process title for powerpool can now be set with new configuration value
procname
. Make sure you install the new requirements!
Bugs
- Shares were being overreported because of the timing jitter optimization being slightly mis-implemented. Overreporting was random, so shouldn't effect payout fairness, but does inflate share counts and hashrates...
Transaction inclusion
Features
- More information about recently solved blocks is available through the web monitoring port
Bugs
- Transactions are now included in blocks after resolution of missing/spent input bug.
Merged mining and share batching
Breaking Changes
- Now requires version 0.2 of cryptokit!
Features
- All shares are batched into one minute chunks instead of logging each individual share. Huge decrease in IO load and rows in SQL
- Complete support for merge mining an arbitrary number of currencies. Allows configurable pushing and flushing of jobs for new aux work.
Bugs
- A few more properly closing file descriptor problems resolved.