![[Pasted image 20240514120850.png]] [Официальный сайт](https://ritual.global/) [Документация](https://docs.ritual.global/) [Twitter](https://twitter.com/ritualnet) >[!abstract] Tag #Ritual #Node > [!warning] Время на установку _от 70 минут_, вложения _~15-30$_ Ritual - это открытый, суверенный исполнительный слой для ИИ. Бесшовно интегрируйте ИИ в ваше приложение или протокол на любой цепочке, что позволит вам тонко настраивать, монетизировать и выполнять вывод моделей с использованием криптографических схем. С помощью Ritual видение заключается в том, чтобы разработчики могли создавать полностью прозрачные DeFi, самосовершенствующиеся блокчейны, автономные агенты, генерируемый контент и многое другое. - Polychain инвестировала в Ritual нераскрытую сумму, назвав ее «многомиллионной» суммой. - В ноябре Ritual собрала 25 миллионов долларов для решения проблемы централизованности систем искусственного интеллекта. - ИИ стал областью интереса в индустрии блокчейнов после распространения инструментов на базе ИИ, приобретающих всеобщую популярность. > [!news] 08.04.2024 > Фирма Crypto VC Polychain пополнила раунд финансирования AI Platform Ritual на сумму 25 миллионов долларов за счет «многомиллионных» инвестиций Blockchain firms are attempting to address concerns that Big Tech giants like Microsoft, Meta and Alphabet will build an artificial-intelligence oligarchy [источник](https://www.coindesk.com/business/2024/04/04/crypto-vc-firm-polychain-tops-up-ai-platform-rituals-25m-funding-round-with-multimillion-dollar-investment/) >[!warning] Ребята, Ritual достаточно сложная нода, если вы не уверены в своих силах, для вас вызывали сложности такие проекты, как Shardeum, Elixir и IO.net, не стоит браться за Ritual, вам будет тяжело! Также учтите, что нода работает нестабильно, потому что это devnet, а не тестнет. Он имеет много ошибок , его очень сложно заставить работать. > # Рекомендуемые системные требования CPU: 4 modern vCPU cores RAM: 16GB DISK: 500GB IOPS-optimized SSD На Contabo подойдет сервер за 9.5 euro (но мы ставили на тот, что за 14 euro). На xorek нужен сервер DE-i9-16. Операционная система: Ubuntu 22.04. >[!important] Важно, на балансе вашего EVM кошелька должно быть 10-20$ в ETH Base! # Подготовка сервера к работе и установка ноды ## Установка докера ### Обновление системных пакетов и установка других инструментов: 1. Заходим на сервер и вводим команду: ```bash sudo apt-get update && sudo apt-get install curl git jq lz4 build-essential screen -y ``` ### Добавление официального ключа Docker: 2. По очереди вводим четыре команды на сервере: ```bash sudo apt-get install ca-certificates curl -y ``` ```bash sudo install -m 0755 -d /etc/apt/keyrings ``` ```bash sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc ``` ```bash sudo chmod a+r /etc/apt/keyrings/docker.asc ``` ### Добавление репозитория Docker: 3. Продолжаем, вводим всё одной командой: ```bash echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` ### Установка докера и других инструментов: 4. Следующая команда: ```bash sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y ``` ## Копия репозитория Ritual 5. По очереди вводим две команды: ```bash cd $HOME && git clone --recurse-submodules https://github.com/ritual-net/infernet-container-starter ``` ``` cd $HOME/infernet-container-starter ``` ## Запуск валидатора: 6. По очереди вводим две команды: ```bash ufw allow 8545 && ufw allow 3000 && ufw allow 4000 ``` ```bash screen -dmS ritual_node bash -c 'cd $HOME/infernet-container-starter && project=hello-world make deploy-container' ``` Открыть и посмотреть журнал логов можно командой `docker logs deploy-node-1 --tail 100 -f` ___ # Регистрация валидатора и кошелька Переходим по [ссылке](https://basescan.org/address/0x8d871ef2826ac9001fb2e33fdd6379b6aabf449c) 1. Обращаем внимание на адрес контракта он должен быть `0x8D871Ef2826ac9001fB2e33fDD6379b6aaBF449c` 2. Переходим в раздел `Contract` 3. Нажимаем `Write Cotract` 4. Подключаем наш кошелек ![[Pasted image 20240526181116.png]] ___ 1. Далее необходимо вести свой адрес EVM в поле `Register node` и подтвердить транзакцию. Обязательно после активации `Register node` нужно подождать минимум 1 час! 2. После пройденного времени нажимаем `activateNode` и подтверждаем транзакцию. ![[Pasted image 20240526180604.png]] 3. После подписания транзакции убедитесь, что все они прошли успешно, их будет 2 шт. ![[Pasted image 20240526201405.png]] 4. Сохраняем приватный ключ в переменную. Вводим следующие две команды по очереди. (Надеемся, что вы знаете как найти приватный ключ от своего кошелька:)) >[!important] Важно! в начале перед номером вашего приватного ключа необходимо добавить символы 0x (ноль икс) ```bash PRIVATE_KEY="ваш приватный ключ" ``` ```bash CONFIG_PATH="$HOME/infernet-container-starter/deploy/config.json" ``` 5. Используем переменную для замены в config.json. Вводим следующие три команды по очереди. ```bash sed -i 's|"coordinator_address": ".*"|"coordinator_address": "0x8d871ef2826ac9001fb2e33fdd6379b6aabf449c"|' $CONFIG_PATH ``` ```bash sed -i 's|"rpc_url": ".*"|"rpc_url": "https://base-rpc.publicnode.com"|' $CONFIG_PATH ``` ```bash sed -i "s|\"private_key\": \".*\"|\"private_key\": \"$PRIVATE_KEY\"|" $CONFIG_PATH ``` 6. Указываем путь к файлу Makefile: ```bash MAKEFILE_PATH="$HOME/infernet-container-starter/projects/hello-world/contracts/Makefile" ``` 7. Делаем замену адреса отправителя на приватный ключ вашего кошелька: ```bash sed -i "s|sender := .*|sender := $PRIVATE_KEY|" $MAKEFILE_PATH ``` 8. Меняем RPC_URL на новый URL ```bash sed -i 's|RPC_URL := .*|RPC_URL := https://base-rpc.publicnode.com|' $MAKEFILE_PATH ``` 9. Удаляем переменную с нашим записанным приватным ключем: ```bash unset PRIVATE_KEY ``` 10. Указываем путь к файлу Deploy.s.sol: ```bash DEPLOY_SOL_PATH="$HOME/infernet-container-starter/projects/hello-world/contracts/script/Deploy.s.sol" ``` 11. Замена адреса координатора на новый. Вводим следующие 4 команды по очереди. ```bash sed -i 's|address coordinator = .*;|address coordinator = 0x8D871Ef2826ac9001fB2e33fDD6379b6aaBF449c;|' $DEPLOY_SOL_PATH ``` ```bash docker update --restart always deploy-node-1 && docker restart anvil-node hello-world deploy-node-1 deploy-fluentbit-1 deploy-redis-1 ``` ```bash curl -L https://foundry.paradigm.xyz | bash && source ~/.bashrc ``` ```bash foundryup ``` 12. Далее закрываем сервер в термиусе и открываем его заново. Следующая команда: ```bash cd $HOME/infernet-container-starter && project=hello-world make deploy-contracts && cd ``` >[!important] Обязательно сохраните по какому адресу был развернут ваш SaysGM/SaysHello: ![[Pasted image 20240527111701.png]] 13. Указываем путь к файлу CallContract.s.sol: ```bash CALL_CONTRACT_SOL_PATH="$HOME/infernet-container-starter/projects/hello-world/contracts/script/CallContract.s.sol" ``` 14. Задаем новый адрес, который нужно использовать: ``` SAYS_HELLO_ADDRESS="вставляем адрес SaysHello" ``` 15. Меняем адреса: ```bash sed -i "s|SaysGM(.*);|SaysGM($SAYS_HELLO_ADDRESS);|" $CALL_CONTRACT_SOL_PATH ``` 16. Пробуем провести транзакцию: ```bash cd $HOME/infernet-container-starter && make call-contract project=hello-world infernet && cd ``` >[!success] На этом пока все! Отслеживаем в Basescan свои транзакции, периодически нода будет пытаться провести новые контракты. И ждем новостей от разработчиков проекта. Пока мы попадаем в alpha-версию. ## Команды, которые могут пригодиться Команда рестарта ноды, в случае, если она остановилась: ```bash docker restart deploy-node-1 ``` Команда просмотра журнала логов deploy-node: ```bash docker logs deploy-node-1 --tail 100 -f ``` Команда просмотра журнала логов anvil-node: ```bash docker logs -f anvil-node --tail 100 -f ```