Curators match bot - Waiviogit/waivio GitHub Wiki

Main task #2197

Curators match bot repeats the curators' voices with a specified coefficient (from 1% to 10 000%).

By default, the bot repeats only positive votes, but if the user specifies (ticks the check box), then downvotes are repeated with the same coefficient. In this case, the table uses the ± symbol in front of Vote ratio to indicate that negative votes are also repeated.

For each curator, min Voting Power is set (upvote / downvote mana).

If the estimated value of the vote is less than 0.01 HBD, then such a vote will not be played.

Authorization like a sponsored match bot https://github.com/Waiviogit/waivio/wiki/Match-bot-(Sponsor)#how-to-become-a-match-bot

How it works (simplified version)

  1. User adds an curator
  2. The curator puts likes and dislikes.
  3. User's like and dislikes have appeared on the post automatically.

Page

Element Description
Title Curators match bot
Switch switch for authorization match bot. If it is red, then the bot is inactive, if green is active
Description The Curators Match Bot automatically mirrors the upvotes and downvotes of selected users (curators) on both posts and comments. You simply choose which curators you want to follow, and the bot will apply a proportionate version of their voting actions from your account.
For each curator, you can choose how your vote should be applied. In proportional mode, the voting ratio determines the strength of your vote in relation to the curator's. A ratio of 100% means your vote will mirror the curator's exactly, while a 200% ratio will double their vote strength on your behalf. In absolute mode, you set a fixed voting strength that will always be used, regardless of the curator's vote value. This ensures that every mirrored vote reflects your selected power consistently. In both modes, votes are capped at a maximum of 100%.
You may also enable the option to repeat downvotes from selected curators if you wish to align fully with their curation behavior.
Voting will continue as long as your account's voting mana remains above the threshold defined for each curator.
Important: The Curators Match Bot only casts upvotes estimated to have a combined value of at least 0.01 HBD.
Auth Block The Authors match bot requires authorization to distribute votes on your behalf: Authorize now
Authorization is handled via HiveSigner and can be revoked at any time.


Disclaimer: The Authors match bot service is provided on as-is / as-available basis.
Link "Authorize now" link for authorization https://github.com/Waiviogit/waivio/wiki/Match-bot-(Sponsor)#how-to-become-a-match-bot
Add button "Add curator" for adding curator, after clicking the modal window "Add new curator" opens
  • "Authorize now" changes to "Remove authorization" in AUTH_BLOCK, if bot is active.

Table

Column Description
Checkbox "Active" checkbox for activating and deactivating authors for which the bot will like
Curator "Curator" the name of the author who will receive likes
Ratio "Vote ratio" the strength of bot's like
Mana "Min VP" minimum mana value the bot will like
Action "Action" column include "Edit" link for opening a modal window for editing a rule
Date "Expiry date:" the date until which the likes will be put. If no date has been selected, "termless" is displayed
Notes "Notes" comments

Add new curator (modal window)

Element Description
Title Add new curator
Close button to close the modal window
Curator "Curator" user search field. Placeholder - "Find curator". Starred as a required field
Vote Option radio buttons to select vote type. Options: "Absolute" (default) and "Proportional".
Absolute Ratio "Absolute vote ratio (1%-100%)" allows choosing a fixed percentage for the bot vote, independent of the curator's vote.
Proportional Ratio "Proportional vote ratio (1%-10000%)" determines the ratio of the bot's vote strength relative to the curator's vote. The maximum coefficient is 10 000%, which is equal to 1000% of the curator's vote.
Ratio Note The Curators Match Bot only casts upvotes estimated to have a combined value of at least 0.01 HBD.
Dislike "Match downvotes" checkbox, which means that the bot will repeat dislikes
Comments Like "Match votes on comments" a checkbox that means that the bot will repeat likes on comments
Last Vote checkbox "Vote in last block". When enabled, the bot can vote in the almost last block before post payout.
Mana Text Min. Voting Power (mana):
Mana Dropdown dropdown for selecting tokens for min. voting power. Dropdown has 3 options:
  • HIVE
  • WAIV
  • HIVE OR WAIV
By default - WAIV. HIVE OR WAIV - means if one is less than the specified percentage, then the bot stops liking
Mana Slider a slider for choosing at what minimum mana value the bot will like, that is, if the mana is less than this value, the likes will not be put until it is restored. Default 75%
Mana Note Votes will only be processed if the account's voting power exceeds the specified threshold at the time the vote is cast.
Date "Expiry date:" the date until which the likes will be put
Notes textarea for comments, maxlength="255"
Cancel "Cancel" button to cancel the action and close the modal window
Confirm "Add curator" button to confirm the action

Edit (modal window)

Element Description
Title Edit match bot rules for curator {@username}
Close button to close the modal window
Vote Option radio buttons to select vote type. Options: "Absolute" (default) and "Proportional".
Absolute Ratio "Absolute vote ratio (1%-100%)" allows choosing a fixed percentage for the bot vote, independent of the curator's vote.
Proportional Ratio "Proportional vote ratio (1%-10000%)" determines the ratio of the bot's vote strength relative to the curator's vote. The maximum coefficient is 10 000%, which is equal to 1000% of the curator's vote.
Ratio Note The Curators Match Bot only casts upvotes estimated to have a combined value of at least 0.01 HBD.
Dislike "Match downvotes" checkbox, which means that the bot will repeat dislikes
Comments Like "Match votes on comments" a checkbox that means that the bot will repeat likes on comments
Last Vote checkbox "Vote in last block". When enabled, the bot can vote in the almost last block before post payout.
Mana Text Min. Voting Power (mana):
Mana Dropdown dropdown for selecting tokens for min. voting power. Dropdown has 3 options:
  • HIVE
  • WAIV
  • HIVE OR WAIV
By default - WAIV
Mana Slider a slider for choosing at what minimum mana value the bot will like, that is, if the mana is less than this value, the likes will not be put until it is restored. Default 75%
Mana Note Votes will only be processed if the account's voting power exceeds the specified threshold at the time the vote is cast.
Date "Expiry date:" the date until which the likes will be put
Notes textarea for comments, maxlength="255"
Cancel "Cancel" button to cancel the action and close the modal window
Save "Save changes" button to confirm the action, after clicking, a modal window opens to confirm the action "Confirm changes"
Delete text To remove this rule, click the Delete button:
Delete button "Delete rule" delete button, after clicking, a modal window opens to confirm the action "Delete confirmation"

Delete confirmation (modal window)

Element Description
Title Delete confirmation
Close button to close the modal window
Text Do you want to delete curator match bot rule for @{username}?
Cancel "Cancel" button to cancel the action and close the modal window
Delete "Delete" button to confirm the delete action

Confirm changes (modal window)

Element Description
Title Confirm changes
Close button to close the modal window
Text Do you want to save the changes for @{username}?
Cancel "Cancel" button to cancel the action and close the modal window
OK "OK" button to confirm the save action
  • after adding a curator, a notification of success appears ("Curator was successfully added"), and the author appears in the list without reloading the page;
  • after update a rule, a notification of success appears ("Curator was successfully updated"), and the author appears in the list without reloading the page;
  • immediately after adding an author, the checkbox is active, the rule is activated.

image

image

image

2021-09-17_09-24_1

2021-09-17_09-25

Vote & Time: Curation Rewards

https://www.notion.so/Research-2e1a84d2ab3f80988108cefc04f19bbf

It turns out that curation rewards on HIVE depend on the voting time via vote_weight.

Voting Phases and Weight

  • First 24 hours (early_voting_seconds) — weight is 100%
  • Next 48 hours (mid_voting_seconds) — weight is divided by 2
  • Up to day 7 — weight is divided by 8

Example

A post receives 10 HBD in total rewards.

  • 50% (5 HBD) goes to curators
  • 50% (5 HBD) goes to the author

Your vote_weight after division by 8 = X
Total total_vote_weight of all votes = Y

Your share of the curation reward:

(5 HBD * X) / Y

The author always receives their 5 HBD, regardless of when you voted.

What Happens With Late Voting

If you vote after 72 hours, your vote_weight is divided by 8:

// hive_evaluator.cpp Lines 2080–2083
if( _seconds < ( dgpo.early_voting_seconds + dgpo.mid_voting_seconds ) )
  vote_weight /= phase_1_factor;
else
  vote_weight /= phase_2_factor;

Consequences

  • Your weight in total_vote_weight becomes smaller
  • Your share of the curation reward decreases
  • The remaining reward is redistributed among other curators
    (especially those who voted earlier)

Example With Late Voting

Total curation reward: 10 HBD

Early curator

  • vote_weight = 1000
  • total_vote_weight = 2000

Reward:

(10 * 1000) / 2000 = 5 HBD

You (late vote)

  • vote_weight = 1000 / 8 = 125
  • total_vote_weight = 2000 + 125 = 2125

Reward:

(10 * 125) / 2125 = 0.588 HBD

If you had voted early

(10 * 1000) / 3000 = 3.33 HBD

Conclusion

With late voting:

  • Your reward decreases
  • Early curators gain a relatively larger share

Additional Factors

  1. Competition With Other Posts If multiple posts are cashed out at the same time, total_claims increases, and your reward share decreases.

  2. Different rshares If posts have different rshares (even with 100% vote weight), rewards differ due to the non-linear reward curve.


On HIVE Engine

  • No explicit time-based penalties
  • If non-linear parameters are used (e.g. 0.5), early votes gain more weight due to marginal calculations, not time coefficients

On WAIV

curationRewardCurveParameter = 1

This is a linear function, meaning:

It does not matter when you vote — first or last curator, the curation reward will be the same.



Additional information

  • [Bots / Curator] there were 3 accounts that repeated coffee.time's votes, but only shoppingguide voted. VP on bookguide and localguide 100%. #6253
  • Check the engine of the node for lags; if it lags behind by more than 100 blocks, do not request data from it. #6574
  • Should work with guest users. #7033
  • Add hasMore. #7033
  • [curators / vote] Add the ability to choose a vote option as a radio button. Add new absolute type. #7913
  • [match bot / curator] Add ability to vote in the last block (before post payout) for curator bot. #7915 #7916
⚠️ **GitHub.com Fallback** ⚠️