October 4

Ritual. Устанавливаем ноду

CryptoFortochka — гайды, ноды, новости, тестнеты

Ritual — это децентрализованная вычислительная платформа ИИ, делая упор на конфиденциальность, и обеспечивая широкий и безопасный доступ к моделям ИИ по всему миру

  • Инвестировали: $25 000 000
  • Инвесторы: Balaji Srinivasan, Polychain, Accel и другие
  • Характеристики: 4CPU/16RAM/500SSD — рекомендованные
  • Арендовать сервер: XorekCloud, Pqhosting
  • Чат и канал с поддержкой: https://t.me/fortochat / https://t.me/cryptoforto

Данный проект был добавлен в таблицу Retroactive

Вы много просили — я сделал. Написал для вас подробный гайд с установкой ноды Ritual

У проекта сейчас проходит подготовительная стадия, и сейчас команда активно готовится к запуску в тестовую сеть

На данном этапе можно установить ноду, тем самым помочь команде разобрать все ошибки, наладить сеть, и эта помощь, может хорошо сказаться на возможном будущем дропе

Мультить лучше не надо, но, я пожалуй поставлю на 1 сервер, как это принято называть — “Делаю на АНТИФОМО” — имейте ввиду

Сервер можно арендовать на XorekCloud за 1 399 рублей в месяц + докупить 260 GiB это еще 780 рублей

Обновление. Для тех кто уже установил ноду

  • Стопаем контейнер
docker compose -f infernet-container-starter/deploy/docker-compose.yaml down
  • Открываем нано конфиг

Заменяем 1.2.0 на 1.4.0

nano ~/infernet-container-starter/deploy/docker-compose.yaml
  • Запускаем контейнер
docker compose -f infernet-container-starter/deploy/docker-compose.yaml up

Устанавливаем ноду. Детальный гайд

  • Подключаемся на арендованный сервер через root
  • Выполняем команды по списку
  • Обновляем и устанавливаем необходимые пакеты
sudo apt update && sudo apt upgrade -y
  • Устанавливаем Build Tools
sudo apt -qy install curl git jq lz4 build-essential screen
  • Устанавливаем докер
sudo apt install docker.io
  • Устанавливаем Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  • Устанавливаем Docker Compose CLI Plugin
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
  • Делаем плагин исполняемым
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
  • Верифицируем установку
docker compose version
  • Добавляем юзера в Docker Group
sudo usermod -aG docker $USER
  • После этой команды, у вас вылетит из сервера, это нормально
  • Зайдите обратно на сервер
sudo reboot
  • Проверяем всё ли нормально
docker run hello-world
  • Устанавливаем репозиторий
git clone https://github.com/ritual-net/infernet-container-starter
cd infernet-container-starter
  • Устанавливаем скрин
screen -S ritual
  • Делаем деплой
Выходим кнопка на клавиатуре: CTRL + A + D
project=hello-world make deploy-container
  • Заходим в конфиг
В конфиге делаем замену на следующие значения, который будут снизу
nano ~/infernet-container-starter/deploy/config.json
nano ~/infernet-container-starter/projects/hello-world/container/config.json

RPC URL: https://mainnet.base.org/
Private Key: ваш адрес приватника, вначале адреса добавляем“0x
Registry: должен быть0x3B1554f346DFe5c482Bb4BA31b880c1C18412170
sleep: 5
batch_size: 1800

Внимание! Не используй аккаунт со средствами в основных сетях, создайте новый кошелек и пополните на 10–20 баксов в $ETH в сети Base. Для полноценного держания ноды, будут списываться пару копеек на транзакции в сети Base

Также отредактируйте настройки синхронизации снимков в обоих файлах конфигурации (/hello-world/container/config.json и /deploy/config.json), чтобы увеличить время сна (сделать узел менее агрессивным) и избежать ограничений скорости RPC (уменьшить размер пакета для публичных RPC до 50):

    "snapshot_sync": {
        "sleep": 3,
        "starting_sub_id": 160000,
        "batch_size": 800,
        "sync_period": 30
    },
  • Также установите trail_head_blocksзначение 3 в обоих файлах конфигурации
"trail_head_blocks": 3
  • Сохраняем и выходим кнопками Cntr+X, Y, Enter
  • Всё тоже самое делаем и в этом конфиге
Сохраняем и выходим кнопками Cntr+X, Y, Enter
nano ~/infernet-container-starter/projects/hello-world/container/config.json
  • В этом конфиге заменить Register_address на этот 0x3B1554f346DFe5c482Bb4BA31b880c1C18412170
Сохраняем и выходим кнопками Cntr+X, Y, Enter
nano ~/infernet-container-starter/projects/hello-world/contracts/script/Deploy.s.sol
  • В этом конфиге вписываем RPC https://mainnet.base.org/
  • Также приватник с добавлением 0x вначале
Сохраняем и выходим кнопками Cntr+X, Y, Enter
nano ~/infernet-container-starter/projects/hello-world/contracts/Makefile
  • В этом конфиге заменить Register_address на этот 0x3B1554f346DFe5c482Bb4BA31b880c1C18412170
Сохраняем и выходим кнопками Cntr+X, Y, Enter
nano ~/infernet-container-starter/projects/hello-world/contracts/script/Deploy.s.sol
  • Заходим сюда и меняем версию на 1.4.0
Сохраняем и выходим кнопками Cntr+X, Y, Enter
nano ~/infernet-container-starter/deploy/docker-compose.yaml
  • Инициализация конфигурации
docker restart infernet-anvil
docker restart hello-world
docker restart infernet-node
docker restart deploy-fluentbit-1
docker restart deploy-redis-1
  • Проверяем существующие контейнера
docker ps
  • Проверяем логи контейнеров
docker logs <CONTAINER ID>
  • Например, давайте проверить этот
docker logs infernet-node
  • Если у вас такие логи, то все гуд
  • Устанавливаем Foundry
cd
mkdir foundry
cd foundry
curl -L https://foundry.paradigm.xyz | bash
  • Делаем update
source ~/.bashrc
foundryup
  • Заходим в контейнер
cd ~/infernet-container-starter/projects/hello-world/contracts
  • Устанавливаем библиотеку forge-std
forge install --no-commit foundry-rs/forge-std
  • Устанавливаем infernet-sdk
forge install --no-commit ritual-net/infernet-sdk
cd ../../../
Если есть такие ошибки (как на скрине), давайте их решим
rm -rf projects/hello-world/contracts/lib/forge-std
forge install --no-commit foundry-rs/forge-std
cd ~/infernet-container-starter/projects/hello-world/contracts
rm -rf lib/forge-std
forge install --no-commit foundry-rs/forge-std
ls lib/forge-std
foundryup
cd ~/infernet-container-starter/projects/hello-world/contracts
rm -rf lib/infernet-sdk
forge install --no-commit ritual-net/infernet-sdk
ls lib/infernet-sdk
  • Делаем деплой
cd ~/infernet-container-starter
project=hello-world make deploy-contracts
  • Пойдут блоки и хеши
Если так: Поздравляем! Ваше развертывание прошло успешно и взаимодействовало с блокчейном
  • Просмотрите журналы и проверьте, по какому адресу был развернут ваш контракт SaysGM

Отредактируйте файл CallContract.s.sol, вставив новый адрес контракта. Предварительно настроенный адрес — SaysGM saysGm = SaysGM(0x13D69Cf7d6CE4218F646B759Dcf334D82c023d8e), измените его на адрес, который был сгенерирован при вызове SaysGM:

nano ~/infernet-container-starter/projects/hello-world/contracts/script/CallContract.s.sol
  • Инициируйте новый запрос для узла Infernet
project=hello-world make call-contract

Взаимодействие с контрактом

  • Переходим к контракту и коннектим кошелек, который мы создали и пополнили 10–20 баксами в $ETH в сети Base
  • Зарегистрируйте ноду, введя адрес своего кошелька в разделе 8. Register Node, нажав Writeи подтвердив транзакцию в сети Base
  • После этого подождите 1 час
  • Как прошел 1 час, идём к 1. Activate Node, нажмите Writeи подтвердите транзакцию
  • Теперь вы должны увидеть транзакции в вашем кошельке на Basescan. Бывает такое, что нет транзакций более суток, как пишет команда “считается нормой”
  • Проверяем логи
docker logs infernet-node
  • Нормальные логи

Дополнительные команды

  • Рестарт контейнера
docker compose -f infernet-container-starter/deploy/docker-compose.yaml down
docker compose -f infernet-container-starter/deploy/docker-compose.yaml up

Статья была написана каналом Crypto Fortochka