Установка VIZ
В отличии от инструкции @t3ran13 сборка образа будет происходить на месте из исходников, из за чего понадобится больше оперативки, зато можно быть уверенным, что собранный образ чист )) Ну и композер я сам лично не использую.
Для работы понадобится докер. Как установить docker-ce (фришную, комьюнити версию) можно найти на официальном сайте или в той же инструкции от @t3ran13.
Для удобства, пользователя, которым будете пользоваться докером, надо добавить в группу docker.
Проще всего это сделать отредактировав /etc/group файл.
sudo nano /etc/group
Там найти строку с группой docker и добавить вконце строки своего пользователя (в моем примере два пользователя в этой группе, golosd и vizd).
docker:x:999:golosd,vizd
Незабудьте перелогинриться.
Теперь нужно скачать исходники командой git (если что, ее тоже надо установить средствами вашего дистрибутива)
git clone https://github.com/VIZ-World/viz-world.git
После чего заходим в папку viz-world и запускаем сборку образа
docker build . -f Dockerfile -t vizd-master
Чем лучше машина, тем быстрее будет создан образ. Теперь можно подготовить папки под конфиг и блокчейн.
В домашней папке пользователя создаем следующие директории
mkdir config
mkdir -p home/logs
И копируем нужные файлы из папки с исходниками
cp viz-world/share/vizd/seednodes config/
cp viz-world/share/vizd/config/config.ini config/
cp viz-world/share/vizd/snapshot.json home/
Теперь можно запускать, для этого создаем контейнер
HOME=/home/viz docker run -it -p 0.0.0.0:4243:2001 -p 127.0.0.1:8071:8091 -v $HOME/config/:/etc/vizd/ -v $HOME/home:/var/lib/vizd -v $HOME/w/:/vizd/ -d --name vizd vizd-master
После чего должно выдать в консоль строку с ID вновь созданного контейнера.
Лог
Посмотреть лог можно командой
docker logs --tail 100 vizd
Останов, запуск и рестарт
Перезапуск образа (к примеру после редактирования конфига)
docker restart vizd
docker stop vizd
docker start vizd
Реплей
Самый простой способ перезапустить реплей, это удалить /home/viz/home/blockchain/shared_memory.bin файл и перезапутить контейнер
sudo rm /home/viz/home/blockchain/shared_memory.bin
docker restart vizd
Обновление ноды
Заходим в папку с исходниками и обновляем ее
cd viz-world
git pull
Запускаем сборку образа как описано выше.
Потом останавливаем контейнер, удаляем его и создаем контейнер снова и запускем replay
docker stop vizd
docker rm vizd
sudo rm /home/viz/home/blockchain/shared_memory.bin
HOME=/home/viz docker run -it -p 0.0.0.0:4243:2001 -p 127.0.0.1:8071:8091 -v $HOME/config/:/etc/vizd/ -v $HOME/home:/var/lib/vizd -v $HOME/w/:/vizd/ -d --name vizd vizd-master
Писал по памяти, если что потом поправлю