LayerEdge — ставим cli ноду
Рекомендуемые минимальные характеристики:
Чек-лист для развертывания
- Docker установлен и настроен
- Версия Go от 1.17 до 1.23
- Служба провера работает на порту 3001
- Брандмауэр разрешает порт 3001
- Ограничения ресурсов Docker настроены
- Переменные окружения установлены (.env или экспорт в системе)
- Установлена последняя версия CLI-узла
Начальная настройка
Откройте терминал на вашем VPS и выполните следующие команды для обновления системы и установки базовых инструментов:
sudo apt update && sudo apt upgrade -y sudo apt install build-essential sudo apt install git -y sudo apt install screen -y
Запуск сессии Screen
Чтобы нода продолжала работать даже после закрытия терминала, создайте сессию Screen:
screen -S layeredge
Клонирование репозитория Light Node
Склонируйте репозиторий легкой ноды и перейдите в его директорию:
git clone https://github.com/Layer-Edge/light-node cd light-node
Установка зависимостей
Установите необходимые инструменты и зависимости:
Установка Go
Используйте указанную версию Go (1.21.6), так как она проверена на совместимость:
wget https://go.dev/dl/go1.21.6.linux-amd64.tar.gz; sudo tar -C /usr/local -xzf go1.21.6.linux-amd64.tar.gz; echo "export GOROOT=/usr/local/go" >> ~/.bashrc; echo "export GOPATH=\$HOME/go" >> ~/.bashrc; echo "export PATH=\$GOPATH/bin:\$GOROOT/bin:\$PATH" >> ~/.bashrc; source ~/.bashrc; go version
Установка Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/env
Установка Risc0 Toolchain
Установите Risc0 Toolchain с помощью следующих команд:
curl -L risczero.com/install | bash source "/root/.bashrc" rzup install source "/root/.bashrc"
Установка Cargo
sudo apt install cargo -y
Настройка файла .env
Для этого шага вам понадобится приватный ключ EVM-кошелька (можно использовать временный кошелек).
Откройте текстовый редактор Nano для создания файла .env:
nano .env
Вставьте следующий код в файл:
GRPC_URL=grpc.testnet.layeredge.io:9090 CONTRACT_ADDR=cosmos1ufs3tlq4umljk0qfe8k5ya0x6hpavn897u2cnf9k0en9jr7qarqqt56709 ZK_PROVER_URL=http://127.0.0.1:3001 API_REQUEST_TIMEOUT=100 POINTS_API=light-node.layeredge.io PRIVATE_KEY=ваш приватный ключ EVM-кошелька здесь (можно использовать кошелек, подключенный к сайту LayerEdge)
PRIVATE_KEY=ваш приватный ключ EVM-кошелька здесь — вставляем без кавычек и начальных 0х
# Альтернативно:
ZK_PROVER_URL=layeredge.mintair.xyz
API_REQUEST_TIMEOUT=100 — я сразу здесь ставлю 100000, так как у меня сыпались ошибки при апрувах, а с таким показателем таймаута все наладилось
Запуск Merkle Service
Перейдите в директорию Risc0 Merkle Service и соберите его:
cd risc0-merkle-service cargo build && cargo run
Когда вы увидите сообщение "Starting server on port 3001...", отсоединитесь от сессии Screen, нажав CTRL + A, затем D.
Сборка Light Node
screen -S light-node
Перейдите в директорию Light Node:
cd light-node
Соберите ноду с помощью команды:
go build
Запуск Light Node
./light-node
На экране появится публичный ключ. Скопируйте и сохраните его, так как он понадобится для подключения ноды к dashboard. Если в логах отображается "Worker 1 is running", нода успешно запущена.
Подключение вашей ноды
Получение очков через CLI
https://light-node.layeredge.io/api/cli-node/points/{адрес_вашего_кошелька}
Замените {адрес_вашего_кошелька} на реальный адрес вашего CLI-кошелька.
Подключение к dashboard LayerEdge:
- Перейдите на сайт dashboard.layeredge.io.
- Подключите ваш кошелек.
- Найдите раздел "CLI Node Points" на dashboard.
- Нажмите кнопку "+".
- Вставьте публичный ключ, полученный при запуске ноды.
Обратите внимание: на данный момент могут возникать проблемы с процессом подключения, но они скоро будут исправлены
Возможные ошибки и их решения
Ниже приведены частые проблемы и способы их устранения на основе документации LayerEdge (https://docs.layeredge.io/introduction/developer-guide/run-a-node/faq-and-troubleshooting-guide):
Ошибка: "Missing Dependencies" (Отсутствуют зависимости)
go version # Должно быть 1.21.6 rustc --version cargo --version
Ошибка: "Failed to Connect to GRPC_URL" (Не удалось подключиться к GRPC_URL)
- Причина: Неправильный адрес GRPC или проблемы с сетью.
- Решение: Проверьте правильность GRPC_URL в файле .env (должно быть grpc.testnet.layeredge.io:9090). Убедитесь, что порт 9090 открыт на вашем сервере:
sudo ufw allow 9090
Ошибка: "ZK Prover Not Responding" (ZK Prover не отвечает)
- Причина: Сервис Merkle не запущен или работает некорректно.
- Решение: Убедитесь, что вы запустили cargo run в директории risc0-merkle-service и видите сообщение "Starting server on port 3001...". Если нет, перезапустите процесс.
Ошибка: "Invalid Private Key" (Недействительный приватный ключ)
- Причина: Неверный формат или ошибка в ключе в файле .env.
- Решение: Проверьте, что ключ начинается с 0x и соответствует формату EVM. Используйте кошелек, созданный через Metamask или другой совместимый инструмент.
Ошибка: "Build Failed" (Сборка не удалась)
go version
Если версия отличается, удалите старую версию и установите заново:
sudo rm -rf /usr/local/go
Ошибка: "Worker 1 is not running" (Worker 1 не запущен)
Если проблема сохраняется, обратитесь к официальной документации или сообществу LayerEdge за дополнительной поддержкой.
Полезные команды
Вернуться в сессию Merkle Service:
screen -r layeredge
Вернуться в сессию Light Node:
screen -r light-node
Вывести запущенные сессии screen
screen -ls
kill ID_screen
Гайд от канала lvch_clan