October 19

Ставим ноду: GaiaNet

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

  • Инвестировали: $10 000 000
  • Инвесторы: Mirana Ventures, Mantle и другие
  • Характеристики: 4CPU/8RAM/200SSD — минимальные, 8CPU/24RAM/200SSD — рекомендованные
  • Арендовать сервер: XorekCloud, PqHosting, AEZA , Hetzner, Contabo

На радаре очередной проект, в котором есть большие инвестиции и сильные фонды, а также прошла информация о том, что будут награды, так как, есть система поинтов

Нода ставиться более менее легко, к счастью, есть скрипт, который упростит 80% всей установки, и сэкономит ваше время и нервы

Что делать?

  • Подключаемся на арендованный сервер через root
  • Выполняем команды по списку
  • Обновляем и устанавливаем необходимые пакеты
sudo apt update -y
sudo apt-get update
  • Загрузите и выполните последнюю версию скрипта установки GaiaNet Node
curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | bash
  • Выберите конфигурацию Bash
source ~/.bashrc
  • Инициализируйте GaiaNet с конфигурацией
gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/qwen2-0.5b-instruct/config.json
  • Запускаем ноду
gaianet start
  • Копируем ссылку нашей ноды
  • Далее вставляем эту команду и получаем Node id и Device id — копируем и сохраняем в надежное место
gaianet info
  • Ставим скрипт на Автозапуск при падении Gaia
sudo nano /etc/systemd/system/gaianet.service
  • Вписываем этот текст.
[Unit]
Description=Gaianet Node Service
After=network.target
[Service]
Type=forking
RemainAfterExit=true
ExecStart=/root/gaianet/bin/gaianet start
ExecStop=/root/gaianet/bin/gaianet stop
ExecStopPost=/bin/sleep 20
Restart=always
RestartSec=5
User=root
[Install]
WantedBy=multi-user.target
  • Рестарт
sudo systemctl daemon-reload
sudo systemctl restart gaianet.service
  • Проверяем статус
sudo systemctl status gaianet.service
  • Смотрим логи
journalctl -u gaianet.service -f

Привязываем нашу ноду

  • Отправляемся на сайт и коннектим EVM
  • В профиле привязываем все соц.сети
  • Тыкаем справа на Add Node
  • Вписываем ранее скопированные наши данные
  • Далее наша нода будет успешно добавлено, тыкаем на Join
  • Как добавиться наша нода, мы увидим её статус
  • Через некоторое время начнут капать поинты
  • Далее нам нужно открыть ту ссылку, который мы получили в терминале и сверху тыкаем на кнопку Chat with this node
  • Нужно будет общаться с ботом, за это по идее также будут давать поинты
  • Также выполняем задания на Galxe

Гайд на скрипт автоматического общения с AI ботом

  • Обновляем и устанавливаем необходимые пакеты
sudo apt update -y sudo apt update
  • Устанавливаем Python, редактор nano, screen
sudo apt install python3-pip -y
sudo apt install nano -y
sudo apt install screen -y
  • Устанавливаем нужные библиотеки
pip install requests
pip install faker
  • Создаём скрипт с помощью редактора nano
nano ~/random_chat_with_faker.py
  • Вставляем в редактор следующий код:
  • Заменить в строке node_url, надпись АДРЕСВАШЕГОКОШЕЛЬКА на адрес, который, находится тут, под надписью Subdomain
import requests
import random
import logging
import time
from faker import Faker
from datetime import datetime

node_url = "https://АДРЕСВАШЕГОКОШЕЛЬКА.us.gaianet.network/v1/chat/completions"

faker = Faker()

headers = {
    "accept": "application/json",
    "Content-Type": "application/json"
}

logging.basicConfig(filename='chat_log.txt', level=logging.INFO, format='%(asctime)s - %(message)s')

def log_message(node, message):
    logging.info(f"{node}: {message}")

def send_message(node_url, message):
    try:
        response = requests.post(node_url, json=message, headers=headers)
        response.raise_for_status()
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"Failed to get response from API: {e}")
        return None

def extract_reply(response):
    if response and 'choices' in response:
        return response['choices'][0]['message']['content']
    return ""

while True:
    random_question = faker.sentence(nb_words=10)
    message = {
        "messages": [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": random_question}
        ]
    }

    question_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

    response = send_message(node_url, message)
    reply = extract_reply(response)

    reply_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

    log_message("Node replied", f"Q ({question_time}): {random_question} A ({reply_time}): {reply}")

    print(f"Q ({question_time}): {random_question}\nA ({reply_time}): {reply}")

    delay = random.randint(60, 180)
    time.sleep(delay)
  • Сохраняем и закрываем редактор: CTRL + X, затем Y и Enter
  • Создаем новую сессию screen и запускаем скрипт
screen -S faker_session
python3 ~/random_chat_with_faker.py
  • Чтобы выйти из screen, не останавливая скрипт, нажимаем CTRL + A, затем D
  • Чтобы вернуться в сессию screen:
screen -r faker_session