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

Рост силы голоса после ХФ

Добрый вечер дамы и господа.

Я задался вопросом, насколько сильно упал рост силы голоса после хардфорка, который прошел на днях.
А данный пост пишу для того, чтобы наконец выяснить, по какому алгоритму просчитываются награды держателям СГ. С удовольствием выслушаю разработчиков и всех кто "в теме".

Для анализа я написал небольшой скрипт, который собирает статистику по выбранному аккаунту. Для связки с API голоса отлично подходит библиотека от steemit

Мой работающий пример находится здесь.

Для просмотра статистики достаточно ввести свой ник. После этого посмотреть на табличку "Приблизительный рост силы голоса".

Видно, что прирост по сравнению с тем, что было ранее - минимальный.
Давайте опишу вкратце по какому алгоритму я рассчитывал, полагаю где-то в нем есть ошибка, ибо заметил, что СГ растет немного быстрее чем по расчетам.

Итак исходные данные из нового ХФ, которые нас интересуют:

  • Инфляционная ставка 9.5% APR стремящаяся к 0.95% APR по 0.01%
  • 15% инфляции получают держатели Силы Голоса

Для наглядности приведу лог глобальных свойств от Голоса:




Считаем общий годовой прирост токенов голоса с учетом инфляции:

// текущая капитализация голоса
var current_supply = golosData.current_supply.split(' ')[0];
        
// инфляция за год (получаем из поля inflation, на этот год  9,5%)
var inflation_rate = $('#inflation').val().replace('%', '')*1;

// вычисляем прирост токенов с учетом инфляции за год
var total_year_delta = current_supply*inflation_rate/100;



Получаем долю отложенных голосов пользователя в системе по отношению ко всем токенам голоса.
Я полагаю, что здесь надо брать только сумму отложенных голосов, которые находятся в СГ у других пользователей. Но возможности получить это значение я не нашел, поэтому в расчетах беру current_supply

//  доля отложенных голосов пользователя в системе
var account_power_share = getGolosPower()/current_supply;

// получить силу голоса для аккаунта
function getGolosPower(){
    
    if(golosData !== null){
        movementGlobal = golosData.total_vesting_shares.split(' ')[0];
        powerGlobal = golosData.total_vesting_fund_steem.split(' ')[0];
        return (powerGlobal * (accountGests / movementGlobal)).toFixed(3);        
    }else{
        return 0;
    }    
}



Получить годовую награду для всех держателей СГ в системе:

// годовая награда всем держателям силы голоса
var golos_holder_year_rewards = total_year_delta*$('#holder_reward').val()/100;



Умножив общую годовую награду на долю пользователя в системе, получаем награду за год для выбранного пользователя

var current_user_reward = golos_holder_year_rewards*account_power_share;
// далее считаем за месяц, неделю, день итд
....



UPD: сила голоса считается правильно. Баг был в начальных данных, а не в алгоритме расчета. Процент годовой инфляции у GOLOS составляет 15%, а не 9


Всегда рад Вашему вниманию, голосуйте и комментируйте.
Подписывайтесь, дальше здесь будет очень интересно.




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