steemrewarding.com is a feature-rich automatic voting tool. It can be used to create voting rules at https://steemrewarding.com, using several parameters. It is possible to automatically optimize vote delay times in order to increase curation rewards.
Posting authority needs to be given to the @rewarding account. I created a discord server for all topics regarding steemrewarding.com: discord invitation.
steemrewarding is currently used by 131 users which created 2200 rules for posts, 88 rules for comments and 27 trail vote rules. In the last 7 days, 8477 time based votes and 1904 vp based votes were broadcasted through steemrewarding.
Votes are only optimized within both parameter, which can be set in the settings page. This prevents that vote which are placed outside the 15 minute are optimized.
if best_performance > performance * optimize_threshold and vote_delay_min <= maximum_vote_delay + 0.1 and vote_delay_min >= minimum_vote_delay -0.1:
The optimization performance was improved by excluding votes from vote trails and by adding a new field
vote_delay_optimized to the vote_log table. Votes that were not yet optimized have
vote_delay_optimized set to True. In each voting round, 4 votes with this flag are optimized when the vote delay is greater than 15 minutes. As each vote is only optimized once, this speed up the process.
Two new Col classes were constructed from a
Col class, in which the frondend can be be given as parameter. The frontend parameter can be changed in https://steemrewarding.com/settings
A new field was added to the vote rule table, which can be used to store notes and information about a rule.
The maximum allowed vote rules per day are now switchable between a sliding 24h window and once a day (0:0:0 UTC).
A new parameter was added, which can be set in the settings page. When this parameter is greater than 0, it changes the vote weight during vote delay optimization.
vote_weight = vote_weight + (vote_delay_min - old_vote_delay_min) * acc_data["optimize_vote_delay_slope"]
This parameter can be used to adapt the vote weight for the case that the vote delay optimum is far way from 15 minutes.
Let’s make an example: optimize_vote_delay_slope is set to 3%/min, vote delay is 15 min and vote weight is 50%. When the optimum is at 1 minute, the vote weight is changed to
50% + (1 - 15) * 3 % = 8 %
This prevents that votes with high weight are broadcast within the first minutes that have a high vote penalty and that reduce the curation rewards for all other voters. The parameter can be used to reduce the vote weight when the vote delay optimization shifts the vote to the front.
A new parameter
voting_round_sec was added to the config file, which is the time of a vote round in seconds. The half vote round is then subtracted from the
vote_delay_min parameter of a vote, so that the vote is broadcasted
voting_round_sec / 2.0 / 60 minutes earlier. By this, the mean vote delay could be reduced to 1.17 seconds.
if age_min < pending_vote["vote_delay_min"] - voting_round_sec / 2.0 / 60:
It is possible to directly edit a rule from the vote log page.
- commit 1ff8331
- commit 939e0f3
- Add Edit link to vote log, necessary perameter (author, main_post and voter_to_follow) are added to the databases
- commit de35c93
- commit 9e7c797
- the rshares_divider can be set in settings
- commit 647b02eh
- Improve curaton reward calculation
- Add trail_vote info to pending_votes and vote_log