Nodes gang-bang: 3 in 1
Телеграм канал о нодах и тестнетах: Kopeyka DAO
Эта статья открывает серию гайдов по нодам, которые можно с легкостью установить на один сервер.
Сегодня у нас:
1) Waku
2) Gaianet
3) Unichain
Рекомендуемые характеристики сервера:
8 CPU
16 RAM
150 SSD
- Play2Go - советуем брать именно этот тариф:
Главное, чтобы не Contabo, потому что по нашему экспертному мнению (от опытных юзеров) он плохой.
По всем вопросам можете обращаться в чат
Подготовка к установке
Для установки Waku & Unichain нам потребуется тестовый эфир сети Sepolia, поэтому начнем с подготовки кошелька.
Создаем кошелек, записываем сидку и идем по кранам:
1) Googel Faucet - ничего не надо, просто лутаем эфир.
2) ETH Sepolia Faucet - ставим галочку, как на скрине и жмем внизу "Continue". Линкуем свой гитхаб и получаем токены.
3) Multi-Chain Faucet - нужно иметь 0.001 ETH в мейннете.
4) Infura Faucet - надо зарегаться
5) Alchemy Faucet - надо зарегаться
Если хотите убедиться, точно ли получили свои токены, можно сделать это на Etherscan.
‼️ Важно ‼️
Следующей командой проверяем версию докера
docker -v
Если версия меньше 27.0.0, то в обязательном порядке обновляем докер, следуя инструкции:
1. Удаляем все старые версии докера
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
2. Устанавливаем собственно докер при помощи следующего скрипта
curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh
Установка ноды Waku
Перед установкой самой ноды еще нужно сделать один шаг. Вспоминаем сидку от кошелька с тестовым эфиром и идем регистрироваться на Infura.
На главной странице в API Keys нажимаем на My First Key
Видим доступные сети, ставим галочки для сети Ethereum, как на скрине
Переходим в Active Endpoints, копируем ссылку тестнета Sepolia и сохраняем себе.
Теперь переходим в консоль. Первой командой клонируем репозиторий и переходим в папку.
git clone https://github.com/waku-org/nwaku-compose cd nwaku-compose
Делаем копию файла с именем .env
cp .env.example .env
nano .env
Далее вставляем скопированную в Infura ссылку, приватный ключ от кошелька, на который наливали токены и придумываем пароль.
Выходим с помощью CTRL/CMD X + Enter + Y + Enter
После выполнения команды всё должно выглядеть так, как на скрине
Если вылезает ошибка SIGSEGV: Illegal storage access. (Attempt to read from nil?), то пишем команду ниже и возвращаемся на шаг назад.
rm -rf keystore
Запуск ноды
docker-compose up -d
Можно посмотреть логи, чтобы убедиться, что всё работает правильно
docker-compose logs -f nwaku
Мониторинг ноды
Чтобы мониторить статистику ноды, копируем ссылку и на выделенное место вставляем IP вашего сервера
http://<ip вашего сервера>:3001/d/yns_4vFVk/nwaku-monitoring
На сайте будет отображаться что-то подобное
Обновление ноды
cd nwaku-compose git stashgit pull git stash pop docker compose down docker compose up -d
Установка ноды Gaianet
1. Для начала не забываем установить и обновить необходимые пакеты
sudo apt update -y sudo apt upgrade -y
2. Загружаем и выполняем последнюю версию скрипта установки ноды GaiaNet
curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | bash
4. Инициализируем кофигурацию GaiaNet
gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/qwen2-0.5b-instruct/config.json
gaianet start
Если нода долго не запускается и при подключении на сайте выдаёт ошибку
При этом в результате выполнения команды gaianet info
показывает Node ID и Device ID корректно, то следует выполнить следующую команду:
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install_v2.sh | bash -s -- -v 0.13.5 --noavx
Нода запущена, и нам остаётся привязать ноду к аккаунту и настроить скрипт для автоматического общения с ботом.
Привязка ноды к аккаунту
1. Копируем ссылку на нашу ноду
2. Следующей командой мы получаем Node ID и Device ID — сохраняем, они понадобятся далее
gaianet info
3. Отправляемся на сайт GaiaNet в раздел My Node и привязываем EVM-кошелёк.
4. В профиле привязываем все аккаунты социальных сетей
5. Нажимаем на кнопку Connect new node и вставляем раcнее сохранённые Node ID и Device ID
6. Если вы всё сделали правильно — нода добавлена успешно. Спустя какое-то время в этом же разделе мы увидим статус нашей ноды, также начнут капать поинты за её работу.
Нода привязана. Как бы то странно не звучало, с нодой можно общаться: перейдя по ссылке, полученной ранее в терминале, следует нажать на кнопку Chat with this node, в которой собственно и ведётся чат с ботом. Судя по слухам, за это также начисляются поинты.
Управление нодой
Установка скрипта для автоматического общения с ботом внутри ноды
1. Запускаем скрипт, который разворачивает docker-контейнер
cd ~/gaianet && bash <(curl -s https://raw.githubusercontent.com/KopeykaDAO/Nodes/main/gaianet/gaia_chat.sh)
2. Вставляем Node ID, который сохраняли ранее
3. Ждём, пока пойдут логи. Смотрим на наличие ошибок
Нужно проверять, работает ли нода и правильно ли введён адрес.
4. Выходим из логов при помощи сочетания клавиш CTRL + C
Команда для просмотра логов скрипта:
docker exec -it gaianet_chat tail -f -n 20 chat_log.txt
Наслаждаемся капающими поинтами!
Установка ноды Unichain
git clone https://github.com/Uniswap/unichain-node
cd unichain-node
nano .env.sepolia
Изменяем OP_NODE_L1_ETH_RPC и OP_NODE_L1_BEACON
OP_NODE_L1_ETH_RPC = https://ethereum-sepolia-rpc.publicnode.com OP_NODE_L1_BEACON = https://ethereum-sepolia-beacon-api.publicnode.com
docker-compose up -d
Используем команду, чтоб понять синхронизировалась нода или нет. Если рядом с "result" true, то нода синхронизировалась. Если false, то нет.
curl -d '{"id":1,"jsonrpc":"2.0","method":"eth_syncing"}' \ -H "Content-Type: application/json" http://localhost:8545 | jq
Полезные команды
docker compose down
Проверить логи unichain-node-op-node-1
docker logs unichain-node-op-node-1
Проверить логи unichain-node-execution-client-1
docker logs unichain-node-execution-client-1
Посмотреть приватный ключ ноды
cat geth-data/geth/nodekey
0x6dcA295A841E017bB48bd495dD1826E9895780B1