July 13

Устанавливаем Allora Worker.

Наша группа: https://t.me/rdxcryptoalpha

Используйте VPN, чтобы прогрузить все картинки из гайда!

Allora — это новая децентрализованная AI сеть, ориентированная на сообщество. Она предоставляет платформу для разработки, обмена и использования искусственного интеллекта и машинного обучения в децентрализованной среде.

  • Инвестиции: $33 750 000
  • Инвесторы: Polychain Capital, Delphi Ventures, Blockchain Capital, и другие
  • Характеристики: 1/2CPU/4GBRAM/5SSD — минимальные
  • Арендовать сервер: Serv.host, Hetzner
  • Ubuntu: 22.04

Ставим воркера и получаем награды: 1. На Serv.host создаем личный кабинет, арендуем подходящий виртуальный сервер за 649 рублей в месяц. Нам подойдёт тариф "MSK-R7-NODE".

При заказе указываем ОС Ubuntu 22.04 и ожидаем, когда активируют сервер. Обычно это 1-5 минут и данные от сервера придут на почту и в панель.

2. Переходим на сайт и коннектим Keplr кошелек. Здесь в последствии будут отображаться наши поинты за поддержание воркера.

3. Устанавливаем MobaXterm

  • Подключаемся на арендованный сервер через root
  • Выполняем команды по списку
  • Обновляем и устанавливаем необходимые пакеты
  • Если появится выбор при обновлении, жмякаем Enter и пишем Y
echo "nameserver 1.1.1.1" > /etc/resolv.conf;

sudo apt update && sudo apt upgrade -y
sudo apt install ca-certificates zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev curl git wget make
  • Устанавливаем Python
sudo apt install python3
python3 --version
sudo apt install python3-pip
pip3 --version
  • Вписываем Y
  • Устанавливаем Docker
  • Вписываем Y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
docker version
  • Устанавливаем Docker-Compose
sudo curl -L "https://github.com/docker/compose/releases/download/2.28.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

docker compose version
  • Разрешаем Docker для пользователей
sudo groupadd docker
sudo usermod -aG docker $USER
  • Устанавливаем GO
sudo rm -rf /usr/local/go
curl -L https://go.dev/dl/go1.22.4.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> $HOME/.bash_profile
source .bash_profile
go version
  • Устанавливаем Allorad Wallet
git clone https://github.com/allora-network/allora-chain.git

cd allora-chain && make all

allorad version
  • Далее отправляемся к кошельку Keplr и берём сидку от нашего аккаунта
  • Сохраняем сидку в надежное место
  • Возвращаемся к терминалу и восстанавливаем кошелек
  • Вписываем эту команду
allorad keys add testkey --recover
  • Вписываем нашу сидку + Enter
  • В блокноте за ранее напиши любой пароль для нашего аккаунта
  • Вставляем пароль c помощью Mouse 2 и появиться наш Address (копируем и сохраняем в надежное место)
  • Переходим в explorer и добавляем сеть Allora с помощью Keplr
  • Включаем сеть Allora-Edgenet и копируем uallo адрес
  • Отправляемся к крану и запрашиваем тестовые токены $uAllo
  • Спустя пару минут придут токены на баланс
  • Возвращаемся к терминалу и устанавливаем воркер
cd $HOME && git clone https://github.com/allora-network/basic-coin-prediction-node

cd basic-coin-prediction-node

mkdir worker-data
mkdir head-data
sudo chmod -R 777 worker-data
sudo chmod -R 777 head-data
  • Создаем ключ
sudo docker run -it --entrypoint=bash -v ./head-data:/data alloranetwork/allora-inference-base:latest -c "mkdir -p /data/keys && (cd /data/keys && allora-keys)"
  • Создаем воркер ключ
sudo docker run -it --entrypoint=bash -v ./worker-data:/data alloranetwork/allora-inference-base:latest -c "mkdir -p /data/keys && (cd /data/keys && allora-keys)"
  • Получаем ключ
cat head-data/keys/identity
  • Копируем head-id и сохраняем в надежное место
  • Удаляем и создаем новый файл docker-compose.yml
apt install nano
rm -rf docker-compose.yml && nano docker-compose.yml
  • Откроется nano блокнот
  • Измените в блокноте строки head-id и Wallet_Seed_Phares (12 - 24 слов сидки)
version: '3'

services:
  inference:
    container_name: inference-basic-eth-pred
    build:
      context: .
    command: python -u /app/app.py
    ports:
      - "8000:8000"
    networks:
      eth-model-local:
        aliases:
          - inference
        ipv4_address: 172.22.0.4
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/inference/ETH"]
      interval: 10s
      timeout: 5s
      retries: 12
    volumes:
      - ./inference-data:/app/data

  updater:
    container_name: updater-basic-eth-pred
    build: .
    environment:
      - INFERENCE_API_ADDRESS=http://inference:8000
    command: >
      sh -c "
      while true; do
        python -u /app/update_app.py;
        sleep 24h;
      done
      "
    depends_on:
      inference:
        condition: service_healthy
    networks:
      eth-model-local:
        aliases:
          - updater
        ipv4_address: 172.22.0.5

  worker:
    container_name: worker-basic-eth-pred
    environment:
      - INFERENCE_API_ADDRESS=http://inference:8000
      - HOME=/data
    build:
      context: .
      dockerfile: Dockerfile_b7s
    entrypoint:
      - "/bin/bash"
      - "-c"
      - |
        if [ ! -f /data/keys/priv.bin ]; then
          echo "Generating new private keys..."
          mkdir -p /data/keys
          cd /data/keys
          allora-keys
        fi
        # Change boot-nodes below to the key advertised by your head
        allora-node --role=worker --peer-db=/data/peerdb --function-db=/data/function-db \
          --runtime-path=/app/runtime --runtime-cli=bls-runtime --workspace=/data/workspace \
          --private-key=/data/keys/priv.bin --log-level=debug --port=9011 \
          --boot-nodes=/ip4/172.22.0.100/tcp/9010/p2p/head-id \
          --topic=allora-topic-1-worker \
          --allora-chain-key-name=testkey \
          --allora-chain-restore-mnemonic='WALLET_SEED_PHRASE' \
          --allora-node-rpc-address=https://allora-rpc.edgenet.allora.network/ \
          --allora-chain-topic-id=1
    volumes:
      - ./worker-data:/data
    working_dir: /data
    depends_on:
      - inference
      - head
    networks:
      eth-model-local:
        aliases:
          - worker
        ipv4_address: 172.22.0.10

  head:
    container_name: head-basic-eth-pred
    image: alloranetwork/allora-inference-base-head:latest
    environment:
      - HOME=/data
    entrypoint:
      - "/bin/bash"
      - "-c"
      - |
        if [ ! -f /data/keys/priv.bin ]; then
          echo "Generating new private keys..."
          mkdir -p /data/keys
          cd /data/keys
          allora-keys
        fi
        allora-node --role=head --peer-db=/data/peerdb --function-db=/data/function-db  \
          --runtime-path=/app/runtime --runtime-cli=bls-runtime --workspace=/data/workspace \
          --private-key=/data/keys/priv.bin --log-level=debug --port=9010 --rest-api=:6000
    ports:
      - "6000:6000"
    volumes:
      - ./head-data:/data
    working_dir: /data
    networks:
      eth-model-local:
        aliases:
          - head
        ipv4_address: 172.22.0.100


networks:
  eth-model-local:
    driver: bridge
    ipam:
      config:
        - subnet: 172.22.0.0/24

volumes:
  inference-data:
  worker-data:
  head-data:
  • Вставляем весь текст и прожимаем на клавиатуре
  • CTRL X — Y — Enter
  • Запускаем воркер
  • Запускаем воркер
docker compose build
docker compose up -d
  • Заходим в докер и видим контейнер node-worker
docker ps
  • Слева копируем CONTAINER ID
  • Смотрим логи, замените ВАШ_COINTERID
docker logs -f ВАШ_COINTERID
  • Проверяем статус ноды
curl --location 'http://localhost:6000/api/v1/functions/execute' \
--header 'Content-Type: application/json' \
--data '{
    "function_id": "bafybeigpiwl3o73zvvl6dxdqu7zqcub5mhg65jiky2xqb4rdhfmikswzqm",
    "method": "allora-inference-function.wasm",
    "parameters": null,
    "topic": "1",
    "config": {
        "env_vars": [
            {
                "name": "BLS_REQUEST_PATH",
                "value": "/api"
            },
            {
                "name": "ALLORA_ARG_PARAMS",
                "value": "ETH"
            }
        ],
        "number_of_nodes": -1,
        "timeout": 2
    }
}'
  • Если у вас такой результат, то у вас все норм
  • Проверить ноду на обновы
curl http://localhost:8000/update

Должен быть ответ 0

  • Проверить вывод ноды
curl http://localhost:8000/inference/ETH
  • Должен быть ответ 2900 или около того (ошибок не должно быть)
  • Если у вас ошибка code 408, то воспользуйтесь этим гайдом

--topic=1 надо поменять на --topic=allora-topic-1-worker

cd $HOME
cd basic-coin-prediction-node
nano docker-compose.yml
  • Сохраняем этими командами — итог: У вас должен быть code 200
docker compose build
docker compose up -d
  • Через некоторое время, появятся поинты за установленную ноду
  • Не забываем выполнить кампанию на Galxe
  • Удалить ноду
rm -rf allora.sh allora-chain/ basic-coin-prediction-node/

Наша группа: https://t.me/rdxcryptoalpha

Наш чатик: https://t.me/rdx_chatik