Расчет вознаграждения за апвоут (голосование)
Автор: @ropox
Теория
Тут небольшое отступление, что бы рассказать немного теории. Что бы было понятнее и для тех, кто не знает должно быть интересно. Кому не интересно, крутите смело в конец статьи.
У каждого голосующего есть Сила Голоса. Посмотреть ее можно так же в кошельке.
Это своеобразные акции голоса с долгосрочным размещением. Как минимум половина вознаграждения за посты и комментарии выплачивается в Силе Голоса, то бишь акциями. Те кто уже достаточно долго на голосе наверняка знают, что эта Сила Голоса влияет на распределения выплат к постам и на ваши кураторские вознаграждения.
Ваша СГ внутри блокчейна учитывается в вестинах.
Как это происходит. Когда кто-то размещает на голосе пост, другие участники голоса голосуют за этот пост, и блокчейн записывает под постом имя проголосовавшего и его количество акций на момент голосования, иначе говоря его уровень Силы Голоса.
weight
Голосующие могут так же выставлять процент Силы Голоса от нуля до 100, так называемый вес апвота или weight по английски. Это тоже учитывается. В такой пропорции будет учитываться ваша Сила Голоса.
voting_power
Есть еще один параметр, который влияет на Силу Голоса - энергия голоса. Так бы я перевел voting_power. С каждым отданным голосом ваша энергия падает. Примерно 40 ваших апвотов снижают voting_power до ~ 80% и за сутки она успевает восстановится до почти 100 процентов.
Текущее значение voting_power можно узнать к примеру на golosd.com/@вашник
То-есть в итоге ваша СГ умножается на weigh / 100 и на voting_power/100 и в итоге и получаются так называемые reward shares (англ. акции вознаграждения), сокращенно. rshares.
Чем больше этих rshares получает ваш пост относительно других постов, тем больше вознаграждение. Как это происходит. Допустим Петя написал пост "Жить хорошо", а Вася "А хорошо жить еще лучше. И спустя сутки за петин пост проголосовали 100 человек и вложили в его пост 100 акций, а за васин пост проголосовали всего 2 человека, но с большой силой голоса - т. н. киты, вложив к примеру 2500 акций. В сумме у нас получается 2600 акций. Если у нас пул вознаграждения к примеру 260 Золотых, то умножив 260 на 100 и поделив на 2600, мы получим вознаграждение Пети 10 золотых, а у Васи получится 250 золотых.
Часть вознаграждения распределяется между голосующими за пост. Все так же, аналогично. Если проголосует Вася-Кит за пост с 1000 акциями и Петя-Гальян с одной акцией. То естественно Вася-Кит получит 1000 частей вознаграждения кураторам, а Петя-Гальян за одну акцию получит 1 часть.
Вот почему так важно наращивать Силу Голоса. Чем она больше, тем выше ваше влияние на распределение наград, и тем выше ваш заработок.@naminutkuрегулярно публикует отчеты по заработками кураторов. Можно посмотреть сколько возможно получить процентов годовых, вложившись в Силу Голоса и удачно голосуя. В среднем получается 10-20 процентов.Где еще вы можете получить такие начисления по вкладам или?))
Вычисления
Ну вот мы и добрались до самих вычислений. Что бы посчитать, нам надо получить сумму выплат за пост в GBG. Это можно сделать, открыв вкладку "Авторские вознаграждения" в кошельке. Как видим шаману было выплачено 59.120 GBG за пост.
И нам нужны rshares каждого проголосовавшего за данный пост. Для этого можно воспользоваться любым тулом, способным получить техническую информацию о посте. У меня есть свой собственный, я им и воспользуюсь.
Что бы получить информацию о посте, понадобится имя пользователя и так называемый permlink. permlink можно получить из ссылки на пост в адресной строке браузера. Это последняя часть ссылки после "/" (без слэша)
Теперь переходим на сайтhttp://ropox.tools/steemjs/api/database_api/get_contentи вводим имя автора, permlink и нажимаем execute. В нижней части экрана появится техническая информация о посте.
Пролистав в низ, до "active_votes" вы увидите список проголосовавших и их rshares
Надо сложить все rshares. Просуммировав мы можем уже посчитать размер вознаграждения каждому проголосовавшему. Для этого умножаем размер выплат - 59.120 на rshares проголосовавшего и делим на сумму всех rshares.
В своем скрипте я исключал тех, кто ставил флаги. Их rshares записаны со знаком минус. И если сумма выплат получается меньше 0.001 GBG, то я увеличиваю принудительно сумму выплат до 0.001, что бы всем перепало, даже тем, у кого небольшая сила голоса.
Вот собственно и все
По материалам статьи.
Автор @ropox