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

less-account-history-17

Привет,

подготавливаясь к 0.17.0 хардфорку, обновил плагин account_history, что бы жрал поменьше shared_memory. Мои скриптам не нужна полная история, они получают блоки от ноды, обрабатывают операции и складывают все в свою базу данных. Единственное, что требуется от ноды, так это виртуальные операции, которые без account_history плагина не получишь.

В 16.4 я для этого переделал плагин, что бы он только виртуальные операции сохранял в истории, а в 17.0 я решил портировать плагин из стимита.

Исходники можно взять от сюда https://github.com/gropox/golos/tree/less-account-history-17

Теперь в конфигурационном плагине можно задать три параметра

history-whitelist-ops - через пробел можно задать список операций, которые интересуют. Только эти операции будут сохраняться в истории. К примеру

history-whitelist-ops = author_reward_operation curation_reward_operation

history-blacklist-ops - черный список. Операции данного списка будут игнорироваться. Параметры history-whitelist-ops и history-blacklist-ops взаимоисключающие. То-есть активным будет только один из них (вероятно последний, черный список)

history-start-block - задает стартовый блок, с которого нужно начать сохранять историю. Таким образомможно отсечь историю до запуска вашего приложения. Это поможет еще сэкономить пару гигабайт и к примеру ускорить синхронизацию.

Список названий операций можно взять от сюда

https://github.com/gropox/golos/blob/less-account-history-17/libraries/protocol/include/golos/protocol/operations.hpp

Таким образом, нода скомпилированная с LOW_MEM = OFF и тремя плагинами witness, database_api и account_history, и сконфигурированная только на сохранение виртуальных операций потребляет порядка 18G. Если историю начать сохранять с 15000000 блока, то получается 14-15G.

У меня скрипты получают виртуальные операции вроде author_reward методом get_ops_in_block, а нормальные, пользовательские операции методом get_block.

Успехов

archiv.jpeg

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