Асхат Бельцев, представитель пула Validator.Center и будущей мастерноды под одноименным названием в сети Minter, подготовил для читателей DeCenter колонку, в которой рассказал, как запустить мастерноду, а также привел реальные цифры для разных конфигураций архитектуры и пояснил, во сколько это удовольствие обойдется.

нода в minter

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

Начнем наше повествование с самой простой конфигурации: запуск мастерноды без использования SNA. И кратко разберем 3 ключевых шага, которые нужно сделать, чтобы эту мастерноду для начала запустить.

Для справки: Sentry Node Architecture (SNA) — это решение, которое обеспечивает способ скрыть IP-адрес узла валидатора и предоставить более легко масштабируемый список общедоступных IP-адресов для смягчения DDoS. Говоря более простым языком, это первая линия обороны, которая защищает от кибератак главную мастерноду валидатора.

Шаг 1. Арендуем виртуальный сервер и хостинг у провайдера: 2 ядра, 4GB оперативной памяти и 40GB SSD-диска.

Почему именно такие параметры?

2 ядра в Testnet берем с запасом, чтобы была дополнительная «прочность». Подпись формируется только на одном ядре, но чтобы сбалансировать и параллельно выполнять другие задачи, лучше использовать больше, чем 1 CPU.

Потребуется 40 GB SSD-диска, чтобы хватило как минимум на пару месяцев, возможно, хватит и на больший срок, в зависимости от развития сети. Нужен именно SSD-диск, потому что он работает быстрее, чем HDD.

Блокчейн проекта стремительно становится больше: 5 тысяч транзакций по 1 килобайту — это неприлично много: 5MB + 20% на заголовки => 6MB — а это один блок, а в будущем планируется проводить 10,000 транзакций!

Нужно 4GB оперативной памяти, ибо стоимость небольшая и лучше взять с запасом. В Testnet на данный момент хватает 1.5GB оперативной памяти.

Хостинг-провайдер рекомендуем с почасовой оплатой с зависимостью от нагрузки, подойдет любой из списка:

 Microsoft Azure

 Amazone Cloud

 Google Cloud Platform

То есть если нагрузки нет — значит меньше платим, как только появляется — выделяются ресурсы, соответственно, становится дороже. На первое время это лучшее решение, пока сеть не наберет серьезные «обороты».

Можно выбрать виртуальный сервер с постоянной конфигурацией. На рынке VDS-хостингов много компаний, но наш взор упал на две из них:

 Германия: Hetzner с продуктом CX21 за €5.78 (440 рублей) в месяц

 США: Linode с продуктом 2GB за $10 (670 рублей) в месяц

Брать лучше в США, так как немцы очень педантичны и у них хорошие, «железные» файерволы. «Уронить» такие сервера сложно, но из-за избыточной защищенности возникают потери в 20 милисекунд, а это пропуск блока.

Шаг 2. Ставим ОС на виртуальный сервер и настраиваем ее.

ОС можно установить на любую 64-битную систему. Можно использовать Windows, MacOS или UNIX-подобные(на ядре linux или *bsd). ОС, подобные UNIX, бесплатные и хорошо зарекомендовавшие себя в качестве ОС для серверов. Если использовать на ядре Linux, то это Ubuntu Server, Debian, Centos, RedHat; а если BSD, то подойдут FreeBSD, OpenBSD.

Шаг 3. Установка блокчейна Minter.

Скачиваем последнюю версию платформы Minter, подходящую вам, с Гитхаба. Если там нет вашей архитектуры, то можете собрать ее сами, так как исходный код полностью открыт.

В настройках устанавливаем, что наш сервер будет работать в режиме Валидатора, а именно в файле config.toml прописываем команде validator_mode значение «true» (будет выглядеть так: validator_mode="true").

Нода будет работать в режиме валидатора и без этой команды, но тогда будет больше лазеек «положить» ноду, поэтому стоит отрубить прочие функции и оставить ее только как валидатора.

Файл находится в каталоге config, где синхронизируется весь Blockchain проекта. Путь может настраиваться к этой папке, но по умолчанию в каталоге пользователя установлен каталог .minter.

Следующая, более сложная, но бюджетная конфигурация с SNA

Берем 3 виртуальные машины на Google Cloud Platform. Характеристики: 1 процессор (настоятельно рекомендуем 2 и более ядер, но и на 1 ядре работать будет), 3.75GB оперативной памяти и SSD-диск на 40GB.

По деньгам теоретически выходит 3*$27.7= $83.1= 5560.93 рублей, а в реальности вышло ~2000 рублей в месяц. На GCP поднято три виртуальных сервера, но сколько каждый потребляет денег, сложно сказать, такой статистики нет.

Но при нагрузке все равно возникнут проблемы (падение), так как подписание не распараллеливается. С этим может справится мощный процессор (3 ГГц и более), но, к сожалению, в основном на рынке виртуальных серверов представлены продукты мощностью 2.7 ГГц.

Исходя из всего вышесказанного предлагаем следующие «держащие удар» на первое время конфигурации:

 3 или 4 виртуальные машины Linode 8GB (4 cpu, 8GB памяти и 160GB диск), 3 — SNA и 1 — валидатор = $40*4 = $160 (10,706.96 рублей).

 3 или 4 виртуальные машины Google (4 cpu, 8GB памяти и 160GB диск), 3 — SNA и 1 — валидатор = $113*4 = $452 (30,247.16 рублей), фактически затраты во многом будут зависеть от нагрузки сети, а на первое время это минимум.

Что рекомендуют разработчики для Mainnet?

 RAM — 4GB

 SSD — 200GB

 x64

 3.4 GHz

 8 vCPUs

Что имеется у Linode?

 32GB

 8 Cores

 640GB SSD

 16 TB

 40 Gbps

 7000 Mbps

Продукт: Linode 32GB. Цена: $160 в месяц.

Итого: $160*4 = $640 = 42,827.84 рублей в месяц.

Что имеется Hetzner?

 vCPU — 8

 RAM — 32GB

 Disk — 240GB

 Traffic — 20TB

Продукт: CX51. Цена €35.28 в месяц.

Итого: €35.28*4 = €141.12 = 10,724.63 рублей в месяц, но, напоминаю, пропускаются блоки.

Что имеется у Google?

 CPU — 8

 RAM — 7.2GB

 Disk — 200GB

Цена: $178.92 в месяц

Итого $178.92*4 = $715.68 = 47,895.25 руб в месяц, напоминаю, в реальности плата будет по нагрузке, то есть потенциально меньше в первое время.

Как вы уже поняли, много вложений для старта не требуется, важно лишь грамотно составить архитектуру и выбрать подходящую конфигурацию. Напоследок дам пару советов:

 Блокчейн растет, поэтому 200GB не хватит.

 3 SNA будет мало, лучше около 10, чтобы покрыть большую площадь.

Все ваши вопросы и пожелания с удовольствием обсудим в нашем чате. Присоединяйтесь!


По вопросам размещения материалов в рамках авторской колонки, пожалуйста, пишите на np@decenter.org.