Скачиваем файл цепочки блоков only block_log (без него синхронизация от сети seed-нод занимает около 2-3 суток), либо полный backup witness node (с ним запуск займёт около часа).
Генерируем ключи
Для облегчения получения ключей, вместо запуска ноды без них, использования команды suggest_brain_key в cli-wallet для генерирования, правки конфига и перезапуска ноды, можно сразу сгенерировать их здесь, или на раз / два.
Только в Public-key (публичном ключе) заменить три начальных символа VIZ на GLS. Этот ключ нам понадобится для объявления себя делегатом позднее, а Private-key (приватный ключ) уже на следующем шаге.
Загружаем конфиг
Предварительно заменив значения witness и private-key на свои. В качестве witness запишем логин без @ от своего аккаунта на Голосе, private-key тот что сгенерировали на шаге выше.
Использование Docker-Compose
Для тех кто разбирается, обратите внимание на этот пост.
Запускаем контейнер
Начнётся загрузка образа ноды и реплей (наполнение файла оперативных данных shared_memory.bin из блоков), который будет продолжаться от пары часов до суток (в зависимости от производительности вашего сервера).
Можно оставить окно терминала или закрыть его, подключившись позднее и зайдя в логи ноды командой:
С появлением в логах ноды подобных сообщений о получении блоков, окно терминала можно закрыть (всё в порядке).
Телеграм-бот о пропуске блоков
Для отслеживания работы делегатских нод и пропуска ими блоков можно использовать бот @golos_witness_monitor_bot
Работа с cli-wallet
Эти действия нужны лишь для первого запуска ноды.
Заходим в cli_wallet ноды.
Добавляем свой пароль к cli_wallet (запишите его и сохраните):
Разблокируем доступ:
Импортируем в cli_wallet наш приватный активный ключ аккаунта-делегата (ключ, который смотреть тут https://golos.id/@lex/permissions, начинается с цифры 5).
Объявляем себя делегатом, с публичным ключом GLS (который мы сгенерировали ранее в паре к приватному ключу для конфига ноды).
Нужно заменить логин, ссылку на пост/аккаунт делегата + публичный ключ.
Публикуем свой первый прайс-фид, заменив на свой логин-делегата.
Для выхода из cli_wallet вводим команду:
Публикация прайсфидов
Запускаем в докере ещё один контейнер, подробнее об этом скрипте можно прочитать здесь.
* нужно заменить логин и приватный активный ключ аккаунта-делегата на свои
Пример скриншота после выполнения команды:
После появления логов с калькуляцией курса GBG, закрываем окно терминала.
Заходим на https://golos.id/~witnesses и напротив своего делегата в столбце “Параметры” нажимаем на значок настроек (описание каждого параметра возникает при наведении мышкой).
Подробнее о значении медианных параметров. Изменить параметры можно и через cli_wallet ноды, заменив логин и выполнив команду.
Параметры в порядке появления в хардфорках блокчейна:
Обновление ноды
Ставим “пустой ключ” для ноды чтобы приостановить подпись блоков через параметры на странице https://golos.id/@lex/witness (заменив на свой логин).Или через cli_wallet ноды командой
Останавливаем докер-контейнер ноды и удаляем его
Если в анонсе обновления было указано что нужен реплей, удаляем файл shared_memory.bin
Останавливаем докер-контейнер скрипта прайсфида и удаляем его
Удаляем образы для ноды и скрипта прайсфида
Запускаем контейнер с новой версией
После появления логов вида handle_block "Got 0 transactions on block 34563842 by ...", закрываем окно терминала.
Возвращаем публичный ключ ноды GLS.............. который ранее сбрасывали через параметры на странице https://golos.id/@lex/witness
или через cli_wallet, заменив в команде ниже логин, ссылку на пост/аккаунт делегата + публичный ключ на свои:
Возвращаем докер-контейнер скрипта публикации прайсфида (заменив логин и приватный активный ключ аккаунта-делегата на свои)
После появления логов с калькуляцией курса GBG, закрываем окно терминала.