Skip to content
This repository has been archived by the owner on Jun 30, 2021. It is now read-only.

Releases: simplecrypto/powerpool

Hotfix duplicate share checker

19 Jun 20:41
Compare
Choose a tag to compare

A bug was discovered and patched in which some duplicate shares would not be detected

Minor bugs and improvements, sphinx docs

01 Dec 20:28
Compare
Choose a tag to compare

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

08 Nov 21:50
Compare
Choose a tag to compare
  • 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

25 Oct 17:46
Compare
Choose a tag to compare

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

25 Oct 17:45
Compare
Choose a tag to compare

A bit rewrite again that improves decoupling between components in preparation for running them in separate processes.

Major rewrite with tons of improvements

28 Jun 23:36
Compare
Choose a tag to compare

Breaking Changes

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

10 Jul 23:37
Compare
Choose a tag to compare
Pre-release

Breaking Changes

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

30 May 03:42
Compare
Choose a tag to compare

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

25 May 18:27
Compare
Choose a tag to compare

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

11 May 23:41
Compare
Choose a tag to compare

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.