[ликбез] Запуск полной ноды bitshares-core с минимальным потреблением RAM в пару гигабайт (у меня 1.7)
Пока готовится праздничный стол, порадую себя и окружающих решением еще одной проблемы.
Что такое bitshares dex и какие они сулят бонусы своим пользователям, рассказывать наверное можно долго нудно и в другой раз, поговорю о насущном - об установке полной ноды себе на слабую машину.
В последнее время, официальные публичные ноды сильно лагают, так что клиент отключается от них и автоматически не подключается. Плюс проблема с глючными свечами (когда объем сделки сотые доли цента) решена в последней версии, а публичные еще не обновились, в общем есть потребность в установке своей ноды.
Официально, полная нода, с настройками по умолчанию для работы требует очень много оперативной памяти, на август 2017-го это порядка 40 гигабайтов, и требования растут примерно по 8 гигабайт раз в месяц. Что удивительно, ведь размер блокчейна всего 11 гигабайт. Если вы заверитель, или у вас публичная нода, к которой подключаются ваши пользователи, то у вас почти нет альтернативы - вам потребуется решать эту проблему, либо исправлением кода либо приобретением дорогого сервера.
Обычным же пользователям, у которых небольшое количество оперативной памяти и требуется работа с небольшим количеством аккаунтов, можно запустить ноду с ограниченным функционалом, которая не будет собирать информацию для всех аккаунтов в сети, а только для ваших.
Все очень просто, загрузите или скомпилируйте последнюю версию https://github.com/bitshares/bitshares-core и запустите со следующим ключами:
witness_node --data-dir data --rpc-endpoint "127.0.0.1:8090" --max-ops-per-account 100 --partial-operations true --track-account XXX --track-account YYY
Замените XXX и YYY на идентификаторы ваших аккаунтов в ковычках, сами идентификаторы смотреть в эксплорере прямо в клиенте, например:
--track-account ""1.2.xxxxxxxx""
или как рекомендуют в вики:
--track-account "\"1.2.282\"" "\"1.2.24484\"" "\"1.2.2058\""
p.s. спасибо за замечание @kfil в комментариях по поводу удаления --plugins
- --max-ops-per-account 100 ограничит сохранение количество операций на аккаунт 100 (можно смело поставить и 1000)
- и самое главное, многократное указание --track-account позволяет перечислить список ваших аккаунтов (по одному), по которым все же будет собираться информация
Нода запускается достаточно долго, при запуске в течении часа идет полное пересканирование уже загруженного блокчейна, а его полная загрузка с нуля - несколько часов (у меня загрузилось за ночь), зато в клиенте Settings -> Access можно добавить свою ноду ws://127.0.0.1:8090 и радоваться быстрому и не лагающему интерфейсу.
Источник https://github.com/bitshares/bitshares-core/wiki/Memory-reduction-for-nodes
С новым годом вас, с новыми профитами.