Привет,
подготавливаясь к 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 - задает стартовый блок, с которого нужно начать сохранять историю. Таким образомможно отсечь историю до запуска вашего приложения. Это поможет еще сэкономить пару гигабайт и к примеру ускорить синхронизацию.
Список названий операций можно взять от сюда
Таким образом, нода скомпилированная с LOW_MEM = OFF и тремя плагинами witness, database_api и account_history, и сконфигурированная только на сохранение виртуальных операций потребляет порядка 18G. Если историю начать сохранять с 15000000 блока, то получается 14-15G.
У меня скрипты получают виртуальные операции вроде author_reward методом get_ops_in_block, а нормальные, пользовательские операции методом get_block.
Успехов
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
litrbooh, t3ran13, francisgrey, neo, narin, max-max, niiu, dimarss, vadbars, amikphoto, tom123, vict0r, semasping, ladyzarulem, tnam0rken, arystarch, vika-teplo, lenutsa, hyipov, amelina.elena, seagull15, graff0x, manavendra, makcum52, kertar, lengalenga, bag, ifingramota, mp42b, magformers, benken, brainmechanic, osra111
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
наш царь Горох! ))) спасибо тебе, Георгий!
Как всегда, я впечатлен прекрасную работу, которую вы предоставляете. То, что вы реализуете, чтобы уменьшить потребление памяти, это отличные идеи.
Поздравляем!
Спасибо