Настройка Снарк Стоппера
v1.2.4
Описание
Скрипт будет полезен тем, кто запускает Производителя блоков и Снарк Воркера на одном сервере. Воркер использует все ваши ядра процессора на 100%, что негативно сказывается на производителе блоков. Скрипт позволяет остановить Снарк Воркера за 3 минуты до производства блока и включит его опять через 10 минут.
Подготовка
Установка JSON
sudo apt install jq -y
Устанавливаем пакет git, если он не установлен на сервере:
yes | sudo apt install git
Проверьте файл конфигурации. Есть несколько вариантов, которые вы можете переназначить.
Разблокируем приватную сеть:
sudo iptables -D OUTPUT -d 172.16.0.0/12 -j DROP
1. Установка без Докера:
sudo apt-get update \
&& sudo apt-get install python3-venv tmux git -y \
&& git clone https://github.com/c29r3/mina-snark-stopper.git \
&& cd mina-snark-stopper \
&& python3 -m venv venv \
&& source ./venv/bin/activate \
&& pip3 install -r requirements.txt
Теперь нужно добавить в конфиг стоппера ваш публичный ключ и комиссию Воркера. Открываем конфиг командой:
nano $HOME/mina-snark-stopper/config.yml
В строке WORKER_PUB_KEY: YOUR_PUBLIC_KEY
измените YOUR_PUBLIC_KEY
на $MINA_PUBLIC_KEY
В строке WORKER_FEE: 1
замените значение комиссии например с 1 на 0.25
1.1 Запуск
tmux new -s snark-stopper -d venv/bin/python3 snark-stopper.py
Просмотр логов:
tmux attach -t snark-stopper
2. Установка с Докером:
Скачиваем файл с конфигом:
curl -s https://raw.githubusercontent.com/c29r3/mina-snark-stopper/master/config.yml > config.yml; \
touch snark_stopper.log
Теперь нужно добавить в конфиг стоппера ваш публичный ключ и комиссию Воркера. Открываем конфиг командой:
nano $HOME/config.yml
В строке WORKER_PUB_KEY: YOUR_PUBLIC_KEY
измените YOUR_PUBLIC_KEY
на $MINA_PUBLIC_KEY
В строке WORKER_FEE: 1
замените значение комиссии например с 1 на 0.25
Запускаем контейнер:
touch snark_stopper.log; \
chmod 666 snark_stopper.log; \
sudo docker run -d \
--volume $(pwd)/config.yml:/mina/config.yml \
--volume $(pwd)/snark_stopper.log:/mina/snark_stopper.log \
--net=host \
--restart always \
--name snark-stopper \
c29r3/snark-stopper
Просмотр логов:
sudo docker logs -f snark-stopper
3. Решения ошибок
Если снарк-стоппер не может подключиться к порту 3085
:
Нужно проверить доступность порта:
nc -t -vv localhost 3085
Результат должен быть примерно таким:
Connection to localhost 3085 port [tcp/*] succeeded!
Если соединение зависает, то возможны следующие варианты:
Доступ к порту
3085
заблокирован черезufw\iptables
Вы не добавили флаг контейнера докеров
-p 127.0.0.1:3085:3085
Узел еще не синхронизирован. По этой причине стоппер не может подключиться
Порт отвечает, но стоппер по-прежнему не может подключиться:
sudo iptables -D OUTPUT -d 172.16.0.0/12 -j DROP
это из-за блокировки частных подсетей, которые использует докер.
Обновить образ докера
После выполнения приведенной ниже команды перейдите к шагу 2.
sudo docker rm -f snark-stopper \
&& sudo docker pull c29r3/snark-stopper
4. Обновление
Удаляем файл с конфигом и контейнер и скачиваем новый образ:
sudo docker rm -f snark-stopper; \
curl -s https://raw.githubusercontent.com/c29r3/mina-snark-stopper/master/config.yml > config.yml; \
sudo docker pull c29r3/snark-stopper
Далее продолжаем с пункта 1 или 2.
5. Удаление
rm -rf mina-snark-stopper \
&& sudo docker rm -f snark-stopper \
&& sudo docker system prune -af
Last updated
Was this helpful?