Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
privet
6 лет назад

Как исправить скрипт отката

Всем @privet!

Я продолжаю серию необоснованных поклёпов, на этот раз пострадала @lokkie. В своём недавнем посте про откаты против бирж я обвинил её в том, что она снизила процент в скрипте откатов с 80% до 76%.

После получения оплеухи благородного гнева детального рассмотрения вопроса, выяснилось, что в произошедшем "виноват" скрипт отката. Стандартный скрипт @ropox суммирует вознаграждение и делит его на все голоса в момент запуска, в том числе, на те, которые были получены после авторских выплат. Мой же скрипт, показавший 76%, учитывает опоздавших кураторов и на них откаты не рассчитывает.

Скорее всего, исправить скрипт @ropox довольно просто, достаточно взять значение last_payout, возвращаемое функцией get_content() и попадающее в свойства объекта content, и исключить голоса, сделанные после этого момента, в функциях sumRshares(content) и doTransfers там, где сейчас берутся все active_votes подряд. То есть, вместо

for(let v of content.active_votes) {

написать

for(let v of content.active_votes.filter(vote => vote.time < content.last_payout)) {

на строчках 94 и 128. Но не верьте мне на слово, у меня с javascript не очень, проверьте у более опытных товарищей.

UPDATE: скрипт отката в репозитории обновлён автором и его исправления отличаются от моего псевдокода. Пользуйтесь официальной версией, если не уверены в своих способностях правильно изменить код.

P.S. Этот пост участвует в движухе #апвот100 — все GBG, полученные автором в первом окне выплат, возвращаются кураторам, принёсшим хотя бы копеечку (0.001 GBG) в копилку поста.

0
0.665 GOLOS
На Golos с October 2017
Комментарии (8)
Сортировать по:
Сначала старые