Еще одно обновление откатного скрипта
Привет,
Консолидация нескольких переводов в одной транзакции
спасибо @html, дал наводку на изыскания @vik -а по поводу упаковки нескольких операций в одну транзакцию. Я тоже уже думал об этом, но у меня никак не доходили руки разобраться с этим. Это собственно оказалось не так уж и сложно для реализации. Потому я сегодня вечером снова взялся за скрипт и поменял способ отправки переводов. Мне самому было интересно в этом поковыряться. Для этого я выдернул код из golos-js библиотеки.
Я тестировал на 5 трансферах, вроде работает. Протестировать на большем числе переводов я предоставляю вам. Для контроля процедуры я добавил еще один параметр transfersPerTransaction Я в примере конфигурационного файла задал 50 переводов про транзакцию. Сколько тут задавать зависит от самих трансферов, больше всего от текста заметки. Блоки в блокчейне ограниченны по размеру, потому если размер транзакции получится больше того, что может вместить блок, то блокчейн отвергнет такую транзакцию. @html говорит, что вроде бы 400 переводов могут быть отправлены за один раз. Возможно. Пробуйте. Страшного ничего не случится, если транзакция окажется слишком большой - скрипт просто прервет свою работу. Уменьшите число в параметре и попытайтесь снова.
Рыночное соотношение GBG к GOLOS
Я уже давно встречал дискуссии по поводу того, что выплачиваемые 80% GBG на самом деле больше, чем 80% исходя из рыночной стоимости GBG и GOLOS. @tnam0rken и @html это обсуждали тут
По этому, я встроил расчет рыночной стоимости GBG и GOLOS на основании данных coinmarketcap.com. Если установить новый параметр useMarketRatio в true, то скрипт сделает запрос к coinmarketcap.com, пересчитает сумму полученного вознаграждения GBG + GESTS + GOLOS в GBG и от этой суммы возьмет 50% для дальнейших расчетов. До сих пор скрипт брал только полученные GBG и работал с этой суммой. На полученную сумму будет наложен процент заданный параметром voter_reward_percent.
Скрипт можно скачать здесь