UCCNetwork / ucc

United Community Coin Source Code
http://uccnetwork.org
MIT License
4 stars 2 forks source link

AutoCombineDust Frequency #11

Closed CaveSpectre11 closed 5 years ago

CaveSpectre11 commented 5 years ago

Re-Implement old concept of AutoCombineRewardsThresholdTime; which appeared to be a failed attempt at delaying the AutoCombineDust() to occur after X minutes. That old algorithm was commented out and replaced with a 5 second wait. This concept also was flawed, in that it was going to be doing a sleep within the ProcessNewBlock() code. The first attempt was abandoned because it likely was blocking ProcessNewBlock for 15 minutes at a time, and no way to not block, if using the feature, for under a minute. The workaround (5 seconds) still wasn't desirable, as it would still lock up ProcessNewBlock for the 5 second block.

This new method changes that design from ThresholdTime, to Block Frequency, and defaults to 15 blocks. Time can be adjusted per implementation, to get a desired minute time based on the block frequency of the coin parameters. If AutoCombineDust is enabled, it will only check and attempt to combine dust if the block height is a multiple of the Block Frequency. e.g. if set to 10, then every 10th block it will be executed. 100; then every 100th block.

This can now be tailored by the user, based on their desired dust cleanup threshold, and their expectation of frequency that they will need to clean.

flyinghuman commented 5 years ago

sounds very good! Thanks!