![[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
```