June 30, 2024

Allora Поднимаем ноду

AlloraAI сеть с упором на Community

Собрали они $35M

Инвесторы: Polychain Capital, Delphi Ventures, Blockchain Capital, и другие

Характеристики Сервера : 2CPU/4GBRAM/5SSDминимальные

Арендовать сервер можно тут:XorekCloud Hetzner(Hetzner нужен KYC и дайте отлежаться аккаунту недельку чтобы не улететь в бан)

Устанавливаем MobaXterm или же используем командную строку кому что удобнее

Далее идем арендовывать сервер я взял такой под минимальные характеристики

Выбираем Здесь Ubuntu 22.04

Устанавливаем Keplr кошелек Cоздаем кошелек чтобы приватный ключ был на 24 символа

Идем на сайт и коннектим Keplr кошелек

Далее открываем MobaXterm и заходим в session чтобы добавить арендованный сервер

Затем вставляем ip и в Specify username по умолчанию пишем root

Устанавливаем необходимые команды пишем по одной

sudo apt update & sudo apt upgrade -y

sudo apt install ca-certificates zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev curl git wget make

Если появится выбор при обновлении, тыкаем Enter и пишем Y

Устанавливаем Python

sudo apt install python3
python3 --version
sudo apt install python3-pip
pip3 --version

Устанавливаем 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

Устанавливаем Compose

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

apt-get install docker-ce docker-ce-cli containerd.io 

docker 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

и вставялем сюда нашу сид фразу которую взяли из Keplr

Дальше придумайте пароль и запишите его вставьте его 2 раза

Идем в explorer и добавляем сеть Allora в свой Keplr

Нажимаем Suggest Allora-Edgent TO Keplr и добавляем сеть

Далле нам нужно включить сеть Allora-Edgenet и скопировать uallo адрес

Копируем наш 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 и сохраняем его

Cоздаем новый файл docker-compose.yml

apt install nano

rm -rf docker-compose.yml && nano docker-compose.yml

Откроется блокнот в который нам нужно будет вставить измененный файл

Измените в блокноте строки на свои данные  head-id и Wallet_Seed_Phares (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=1 \
          --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

Команда для проверки Статус ноды

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
    }
}'

Если у вас пишет 408 чтобы ее исправить на 200 нам нужно открыть в терминале папку basic-coin-prediction-node/

В ней мы ищем docker-Compose.yml Заходим сюда

Дальше ищем строчку Worker: Внизу удаляем строчку где показано стрелачками у вас будет другая команда вроде она такая --allora-chain-topic-id=1 ее стираем и вписываем вместо нее эту --topic=allora-topic-1-worker И сохраняем

После того как сохранили файл пишем в командую строку команды по одной

docker compose up --build -d

docker compose build

docker compose up -d

И проверяем командой Команда для проверки Статус ноды она сверху вставляем ее и должны быть так

Если у вас такие же цифры поздравлю вы поставили успешно ноду

Проверить ноду на обновление можно командой должно быть как на скрине

curl http://localhost:8000/update

Через некоторое время должны появится наши поинты за установленную ноду

Обратиться к ноде cd /root/basic-coin-prediction-node/

Ps Админы выкатили обнову чтобы начали капать поинты

Вставляем команды по очереди:

rm -rf allora.sh allora-chain/ basic-coin-prediction-node/

wget https://raw.githubusercontent.com/dxzenith/allora-worker-node/main/allora.sh && chmod +x allora.sh && ./allora.sh

Нажимаем Y

Нужно будет выбрать вариант none of the above

Далее прописать "Y" и вписать сидку + парол

После чего нам покажет Head ID записываем его и вставляем

Потом вставляем сид фразу от кошелька

После чего вылезет строка TOPIC_ID:Вписываем сюда цифру 1

И проверяем нашу ноду команда на проверку ноды выше должно быть так

Мой Канал:https://t.me/Gemmvision