Гайд для witness/seed ноды
Рекомендованные (минимальные) системные требования:
4 Гб оперативной памяти и 80 Гб SSD накопителя
Linux-система, напр. Ubuntu 18.04/20.04 + стабильный интернет
Устанавливаем Docker
sudo apt-get update &&
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-releasecurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgecho \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update &&
sudo apt-get install docker-ce docker-ce-cli containerd.io -yУстанавливаем ноду
Скачиваем файл цепочки блоков 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, закрываем окно терминала.
Изменения в конфиге
Заходим в конфиг командой:
Вносим нужные правки, нажимаем Ctrl+O, подтверждаем Enter, выходим Ctrl+X.
Перезапускаем контейнер ноды.
Делегатские параметры
Заходим на https://golos.id/~witnesses и напротив своего делегата в столбце “Параметры” нажимаем на значок настроек (описание каждого параметра возникает при наведении мышкой).
Подробнее о значении медианных параметров. Изменить параметры можно и через cli_wallet ноды, заменив логин и выполнив команду. Параметры в порядке появления в хардфорках блокчейна:
Обновление ноды
Ставим “пустой ключ” для ноды чтобы приостановить подпись блоков через параметры на странице https://golos.id/@lex/witness (заменив на свой логин). Или через cli_wallet ноды командой
Останавливаем докер-контейнер ноды и удаляем его
Останавливаем докер-контейнер скрипта прайсфида и удаляем его
Удаляем образы для ноды и скрипта прайсфида
Запускаем контейнер с новой версией
После появления логов вида handle_block "Got 0 transactions on block 34563842 by ...", закрываем окно терминала.
Возвращаем публичный ключ ноды GLS.............. который ранее сбрасывали через параметры на странице https://golos.id/@lex/witness или через cli_wallet, заменив в команде ниже логин, ссылку на пост/аккаунт делегата + публичный ключ на свои:
Возвращаем докер-контейнер скрипта публикации прайсфида (заменив логин и приватный активный ключ аккаунта-делегата на свои)
После появления логов с калькуляцией курса GBG, закрываем окно терминала.
Есть вопросы?
Можно уточнить в чате делегатов https://t.me/golos_witnesses
Last updated