🟢 Активные ноды / Active nodes
October 22

Gaianet. Нода

GaiaNet — это децентрализованная платформа, предоставляющая сеть ИИ-агентов («цифровых двойников»), которые выполняют задачи для пользователей. Вместо централизованных серверов GaiaNet использует узлы на периферии сети, что обеспечивает большую приватность и контроль со стороны пользователей. Платформа помогает внедрять ИИ в различные сферы, например, в образование, и предлагает возможности для разработки децентрализованных ИИ-приложений. Экосистема поддерживается токеном GaiaNet для управления, стейкинга и оплаты услуг внутри сети.

Инвестировали: $10 000 000

Инвесторы: Mirana Ventures, Mantle и другие

Соцсети: Twitter, Discord

Характеристики: 4CPU/8RAM/200SSD — минимальные

Арендовать сервер: Hetzner, Contabo

Операционная сеть: Ubuntu 22.04

Одна из тех нод, которую можно поставить и забыть и лишь изредка проверять.


Подготовка к установке:

  • Скачиваем и устанавливаем Termius
Для Windows - тут
Для macOS - тут
  • Арендуем север (рекомендую всем начинать свой путь с Hetzner - на нем лучшее соотношение цены и качества, а также зарегистрируясь по рефке вы получите 20€ на свой аккаунт, которые сможете использовать для оплаты серверов. Гайд по аренде сервера на Hetzner.
  • Открываем Termius и жмём New Host
  • Откроется панель для ввода данных, где нам понадобится ввести IP который предоставит нам провайдер после аренды сервера в строке "IP or Hostname"; Любое название, которое вам нравится в "Label"; в строке "Username" вводим root, в строке "Password" вводим выданный пароль:
  • После этого жмем стрелку справа вверху:
  • И наконец-то подключаемся к серверу:

Приступим к установке:

1. Обновление системы и установка необходимых инструментов разработки

sudo apt-get update -y && sudo apt upgrade -y
sudo apt install python3-pip -y
sudo apt install nano -y
sudo apt install tmux -y

2. Загрузка и выполнение последней версии скрипта на установку ноды

curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | bash

3. Выбор конфигурации Bash

source ~/.bashrc

4. Инициализация GaiaNet с конфигурацией

gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/qwen2-0.5b-instruct/config.json

5. Запускаем ноду

gaianet start
  • Ждем около минуты и видим строку:
The Gaianet node is started at: https://.....
  • Копируем ссылку оттуда где-то себе в блокнот или еще куда-то

6. Вытаскиваем Node id и Device id

  • Прописываем
gaianet info
  • Копируем Node id и Device id себе в блокнот или еще куда-то

7. Ставим скрипт на перезапуск ноды при падении

  • Создаем сервисный файл:
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

8. Перезапускаем

sudo systemctl daemon-reload
sudo systemctl restart gaianet.service

9. Привязываем нашу ноду к дашборду

  • Отправляемся на сайт и коннектим EVM
  • В профиле привязываем все соц.сети
  • Возвращаемся сюда и вводим и справа нажимаем "Connect new node"
  • Вписываем заранее сохраненную информацию и нажимаем "Join"
  • Если всё сделали правильно, то нода появится в списке с активным статусом.
  • Далее нужно открыть ту ссылку, которую мы копировали в пункте 5. Нам нужно будет нажать "Chat with this node".
  • Откроется диалог в котором мы должны общаться с ботом и за это будут капать поинты. (Но мы конечно же этого делать не станем, можете разве что попробовать и переходить к следующему пункту).

10. Устанавливаем скрипт для автоматизации общения с AI ботом.

  • Устанавливаем нужные библиотеки
pip install requests
pip install faker
  • Создаём скрипт с помощью редактора nano
nano ~/random_chat_with_faker.py
  • Вставляем в редактор следующий код:
  • Вставить в строке node_url, Subdomain находится тут.
(Пример node_url = "https://0x3e74255d08d0aaa16c7cd940f53d614413ef15c8.us.gaianet.network/v1/chat/completions")
import requests
import random
import logging
import time
from faker import Faker
from datetime import datetime

node_url = "https://ВАШ_Subdomain/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. Таким образом мы сохранили данный скрипт
  • Создаем новую сессию tmux
tmux new-session -s gaianet
  • Запускаем скрипт
python3 ~/random_chat_with_faker.py
  • Теперь нажимаем на кнопки CTRL B D или просто закрываем терминал, и нода будет работать при закрытом терминале.

Дополнительные команды:

  • Зайти в сессию tmux
tmux attach -t gaianet

Удаление ноды:

  • Остановите службу gaianet, чтобы убедиться, что нода больше не работает:
sudo systemctl stop gaianet.service 
  • Отключите автозагрузку службы при запуске системы:
sudo systemctl disable gaianet.service 
  • Удалите файл службы:
sudo rm /etc/systemd/system/gaianet.service 
  • Перезагрузите демона systemd, чтобы применить изменения:
sudo systemctl daemon-reload 
  • Удалите основную папку, в которой были установлены файлы ноды GaiaNet. Согласно гайду, она находится в /root/gaianet:
sudo rm -rf /root/gaianet 
  • Если вы создавали скрипт для автоматизации общения с AI ботом (например, random_chat_with_faker.py), удалите его:
rm ~/random_chat_with_faker.py 
  • Затем завершите сессию gaianet, если она активна:
tmux kill-session -t gaianet

Дополнительные задания

Наши любимые задания на Galxe.

Данная статья была написана для канала KeepItTrading