Запуск Mina с Докером

1. Подготовка к запуску

1.1 Настройка Ubuntu

Обновляем пакеты на сервере до новейших версий:

sudo apt update && sudo apt upgrade -y

Установим и активируем Докер:

sudo apt install docker.io curl -y \
&& sudo systemctl start docker \
&& sudo systemctl enable docker

1.2 Настройка Фаервола

Открываем порты 8302 и 8303:

sudo iptables -A INPUT -p tcp --dport 8302:8303 -j ACCEPT

2. Варианты запуска ноды

Выберите только один вариант запуска из 2-х предложенных ниже (пункт 2.1 или 2.2).

2.1 Запуск только Производителя блоков (Block Producer):

Описание изменяемых переменных:

--name mina - имя для контейнера можно использовать любое, либо оставить так, как есть; --env MINA_PRIVKEY_PASS='YOUR PASS' - вместо YOUR PASS укажите пароль от вашего ключа. --env UPTIME_PRIVKEY_PASS='YOUR PASS' - вместо YOUR PASS укажите пароль от вашего ключа для программы делегации. $KEYPATH - путь к файлу с приватным ключем my-wallet. ! Обязательно: --coinbase-receiver B62qp... - флаг перенаправления награды за блок на другой адрес.

sudo docker run --name mina -d \
--restart always \
-p 8302:8302 \
-p 127.0.0.1:3085:3085 \
-v $(pwd)/keys:/root/keys:ro \
-v $(pwd)/.mina-config:/root/.mina-config \
--env MINA_PRIVKEY_PASS='YOUR PASS' \
--env UPTIME_PRIVKEY_PASS='YOUR PASS' \
minaprotocol/mina-daemon:1.3.1.1-f361ba1-bionic-mainnet daemon \
--block-producer-key $KEYPATH \
--coinbase-receiver $YOUR_ADDRESS \
--peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt \
--uptime-submitter-key $KEYPATH \
--uptime-url https://uptime-backend.minaprotocol.com/v1/submit \
--insecure-rest-server \
--open-limited-graphql-port \
--limited-graphql-port 3095 \
--file-log-level Debug \
-log-level Info

2.1.1 Запуск Снарк Воркера (Snark Worker) к Производителю Блоков:

Если вы не хотите запускать Snark Worker вместе с Производителем Блоков. Вы можете сразу перейти к шагу 3.

Установим комиссию Воркера: set-snark-work-fee 0.025 - значение комиссии 0.025 можно сменить на любое другое.

sudo docker exec -it mina mina client set-snark-work-fee 0.025

Запустим Воркер:

sudo docker exec -it mina mina client set-snark-worker -address $MINA_PUBLIC_KEY

2.2 Запуск только Снарк Воркера (без Производителя Блоков)

Описание изменяемых переменных:

--name mina - имя для контейнера можно использовать любое, либо оставить так, как есть;

По умолчанию -work-selection для Снарк Воркера является случайным rand. Вы можете изменить это, добавив флаг -work-selection seq в конец команды запуска, которая будет работать с заданиями в том порядке, в котором они должны быть включены из состояния сканирования и скорее всего приведет к включению ваших снарков без потенциально длительной задержки;

set-snark-work-fee 0.025 - значение комиссии Воркера 0.025 можно сменить на любое другое.

sudo docker run --name mina -d \
--restart always \
-p 8302:8302 \
-p 127.0.0.1:3085:3085 \
-v $(pwd)/keys:/root/keys:ro \
-v $(pwd)/.mina-config:/root/.mina-config \
minaprotocol/mina-daemon:1.3.1.1-f361ba1-bionic-mainnet daemon \
--peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt \
--snark-worker-fee 0.025 \
--run-snark-worker $MINA_PUBLIC_KEY \
--insecure-rest-server \
--file-log-level Debug \
-log-level Info

3. Просмотр логов

Посмотреть запущенные контейнеры:

sudo docker ps -a

Логи контейнера с нодой:

sudo docker logs --follow mina -f --tail 1000

Статус ноды:

sudo docker exec -it mina mina client status

3.1 Альтернативный вывод логов

sudo docker exec -it mina mina client status | grep "Block producers"

Вывод покажет только строку с запущенным производителем блоков. Пример ниже:

#ПРИМЕР
root@Mina:~# sudo docker exec -it mina mina client status | grep "Block producers"
Block producers running:         1 (B62qpSphT9prqYrJFio82WmV3u29DkbzGprLAM3pZQM2ZEaiiBmyY82)

4. Команды Докера

Остановка контейнера осуществляется командой:

sudo docker stop mina

Рестарт контейнера

sudo docker restart mina

Удаление контейнера:

sudo docker rm mina

Удаление запущенного контейнера:

sudo docker rm -f mina

5. Разное

Удаление папки с конфигом:

rm -rf $HOME/.mina-config

Last updated

Was this helpful?