Внимание:
Для тех кто уже устанавливал ноду в тестнете информация будет ниже, сервер новый покупать не нужно.
Для тех кто впервые:
ccылка на видео: https://rutube.ru/video/fb9c727a98301091525dffe01476860c/
минимальные требования:
6 ядер СPU кол-во ядер
10 GB оперативная память
100+ Mb/s скорость интернета
200 GB of свободного места
Покупаем VPS сервер - один из самых бюджетных xorek.cloud
https://xorek.cloud/?from=13649
Да, честно говоря не самый лучший по качеству, но за такие деньги лучше не найти, да иногда "отваливается", но его стоимость прощает многое, это супер дешево.
Буду Вам Благодарен если купите сервер перейдя по моей ссылки: https://xorek.cloud/?from=13649 :)
Выбираем сервер с операционной системой Ubontu 24.04
Докупаем еще 100 Гб что бы в сумме было 200 Гб
Переходим к установке самой ноды:
Скачиваем терминал в котором будем прописывать команды, мне привычнее искользовать Termius, вы можете выбрать что то другое. Вот их сайт https://termius.com/
После скачивания вписываем данные полученные на сайте аренды сервера, Хорек так же присылает на почту : нажимаем new host и
вписываем IP и пароль, в поле логин- пишем root
И теперь в терминале (например в Termius) вставляем по очереди команды:
# 1. Обновляем список пакетов и устанавливаем обновления
sudo apt update && sudo apt upgrade -y
---------------------------
# 2. Устанавливаем текстовый редактор nano
sudo apt install nano
---------------------------
# 3. Устанавливаем утилиту screen для работы с процессами в отдельных сессиях терминала
sudo apt install screen
---------------------------
# 4. Устанавливаем Docker — платформу для контейнеризации
sudo apt install docker.io
---------------------------
# 5. Загружаем бинарный файл Docker Compose (версия 2.20.2) и сохраняем его в /usr/local/bin/docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
---------------------------
# 6. Даем скачанному файлу права на выполнение
sudo chmod +x /usr/local/bin/docker-compose
---------------------------
# 7. Клонируем репозиторий Uniswap Unichain Node с GitHub
git clone https://github.com/Uniswap/unichain-node
---------------------------
# 8. Переходим в папку с клонированным репозиторием
cd unichain-node
---------------------------
# 9. Открываем файл docker-compose.yml в редакторе nano
nano docker-compose.yml
---------------------------
# 10. В этом файле удаляем символ удаляем в двух местах этот символ "#" в двух местах перед строками с .env.mainnet и выравниваем отступы, чтобы YAML-файл оставался корректным
сохраняем изменения:
Нажимаем CTRL+O (запись файла) + Нажимаем Enter (подтверждение имени файла) + Нажимаем CTRL+X (выход из редактора)
---------------------------
# 11. Запускаем ноду в фоновом режиме
docker-compose up -d
---------------------------
# 12. Проверяем работу ноды, запрашивая последний блок через JSON-RPC
curl -d '{"id":1,"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false]}' \-H "Content-Type: application/json" http://localhost:8545
---------------------------
# 13. Проверить запущенные контейнеры и смотрим сколько по времени они уже работают без остановки
docker ps
# 14. Извлекаем приватный ключ и сохраняем его в надежном месте
cat geth-data/geth/nodekey
# 15. Нажимаем enter и выходим.
Поздравляю Ваша Unichain нода установлена. В течении двух дней выложу все активности что нужно делать с Вашим приватным ключем
Поставьте, пожалуйста, лайк :)
Для тех кто устанавливал unichain ноду в testnete:
Заходим на сервер где установлена Ваша нода в тестнете и удаляем ее (предварительно сохранив старый приватный ключ)
# 1. Переходим в папку с нодой
cd ~/unichain-node
------------------------
# 2. Останавливаем и удаляем все контейнеры, созданные docker-compose
docker-compose down
------------------------
# 3. Проверяем, остались ли контейнеры, связанные с unichain
------------------------
docker ps -a | grep unichain
------------------------
# 4. Если контейнеры остались, удаляем их вручную
docker rm -f $(docker ps -a | grep unichain | awk '{print $1}')
------------------------
# 5. Проверяем, остались ли образы Docker, связанные с unichain
docker images | grep unichain
------------------------
# 6. Если образы остались, удаляем их
docker rmi -f $(docker images | grep unichain | awk '{print $3}')
------------------------
# 7. Проверяем, остались ли Docker-тома (volumes), связанные с unichain
docker volume ls | grep unichain
------------------------
# 8. Если тома остались, удаляем их
docker volume rm $(docker volume ls | grep unichain | awk '{print $2}')
--------------------
# 9. Удаляем саму папку с нодой и её конфигурационные файлы
sudo rm -rf ~/unichain-node
--------------------
# 10. Проверяем, остались ли где-то папки с нодой
find / -type d -name "unichain-node" 2>/dev/null
--------------------
# 11. Проверяем, есть ли ещё файлы docker-compose.yml, связанные с unichain
find / -name "docker-compose.yml" 2>/dev/null | grep unichain
--------------------
# 12. Перезагружаем сервер:
reboot
Поздравляю Ваша нода удалена полностью и сервер перезагружен.
Теперь устанавливаем Unichain ноду в mainnet:
Шаг 1
Повторяем шаг за шагом как написано в начале статьи.
И когда у Вас ваша новая нода заработает с новым ключем, останавлиаем контейнеры и изменяем новый ключ на Ваш старый:
После шага №12 ( по установке ноды) т.е. после команды:
# Проверяем работу ноды, запрашивая последний блок через JSON-RPC
curl -d '{"id":1,"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false]}' \-H "Content-Type: application/json" http://localhost:8545
--------------------
# останавливаем контейнеры
docker-compose down
--------------------
# открываем файл в котором вписан приватный ключ в текстовом редакторе nano и заменяем на полученный при установки ноды в тестовой сети
nano geth-data/geth/nodekey
--------------------
# запускаем ноду
docker-compose up -d
--------------------
# Проверяем работу ноды, запрашивая последний блок через JSON-RPC
curl -d '{"id":1,"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false]}' \
-H "Content-Type: application/json" http://localhost:8545
---------------------------
# Проверить запущенные контейнеры и смотрим сколько по времени они уже работают без остановки
docker ps
# Можете закрывать терминал нажав "крестик"
Поздравляю Ваша Unichain нода в майнете установлена
Поставьте, пожалуйста, лайк :)