May 6

Устанавливаем ноду Gensyn

Gensyn — это layer-1 доверительный протокол для вычислений глубокого обучения, который напрямую и немедленно вознаграждает участников со стороны предложения за предоставление их вычислительного времени сети и выполнение задач машинного обучения

Собрали $50.6M

Инвесторы: A16Z,Eden Block, Galaxy и тд

Cистемные Требование Для Math Simple: 6/32/200

Cистемные Требование Для Math Hard: 3090 RTX/4090 Видеогайд

Обновление Ноды

Заходим в скринер останавливаем ноду CTRL+C

Удаляем Скринер сессии

pkill -f "SCREEN.*gensyn"

Создаем новую сессию

screen -S gensyn

Обновляем Yarn

npm install -g yarn --force
yarn install

Вписываем команду

rm -rf rl-swarm

Далее обновляем репозиторий наш

git clone https://github.com/gensyn-ai/rl-swarm
cd rl-swarm

Запускаем нашу ноду

python3 -m venv .venv && source .venv/bin/activate && ./run_rl_swarm.sh

Выходим из нашего скринера CTRL+A+D

Установите localtunnel

npm install -g localtunnel

Запускаем туннель

lt --port 3000

Пароль для входа — IP-адрес вашего VPS

После того как вошли в свою учетную запись возвращаем к нашему скринеру и останавливаем локалтунель сочетание CTRL+C

После чего пишем

screen -ls 
screen -r ваши цифры скринера 

Далее пишем N

И придумывание название нашей модели или же можно по умолчанию

Обязательно сохраняем ваши 3 уникальные слова

1 Способ Установки Math Simple с использованием CPU

Берем сервер здесь Выбираем Ubuntu 22

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

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

Устанавливаем зависимости

sudo apt update
sudo apt install git

Устанавливаем зависимость

sudo apt install -y python3 python3-venv python3-pip curl screen git yarn

Добавляем Yarn GPG

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

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

sudo apt update && sudo apt install -y python3 python3-venv python3-pip curl wget screen git lsof nano unzip iproute2

Устанавливаем Скринер

apt update
apt install -y screen

Создаем сессию в скринере

screen -S gensyn

Обновляем Yarn

npm install -g yarn --force
yarn install

Далее устанавливаем репозиторий

git clone https://github.com/gensyn-ai/rl-swarm
cd rl-swarm

Виртуальное окружение + Запускаем ноду

python3 -m venv .venv && source .venv/bin/activate && ./run_rl_swarm.sh

После чего Нажимаем CTRL+A+D

Вписываем команды для установки Localtunnel

npm install -g localtunnel

Узнаем наш ip этой командой

curl ifconfig.me

Запускаем сессию здесь будет сгенерирована ваша уникальная ссылка для регистрации в геншин где Пароль для входа — IP-адрес вашего VPS

lt --port 3000

После того как залогинились нужно вернуть к нашей скринер сессии

Для этого останавливаем ссылку на регистрацию сочетанием клавиш CTRL+C

После чего пишем

screen -ls 
screen -r ваши цифры скринера

Ждем установки

Здесь выбираем

>> Would you like to push models to the Hugging Face Hub [y/N]: N

>> Enter the name of the model you want to use in huggingface repo/name format, or press [Enter] to use the default model: Gensyn/Qwen2.5-0.5B-Instruct

После чего обязательно сохраняем наши данные в графе INFO там будет ваш peer ID и 3 ваших уникальных слова

Если через 5-10 минут пойдут такие логи все хорошо

Обязательно делаем Бекап нашей ноды

Заходим в файл в этом каталоге:/root/rl-swarm/

И сохраняем файл под названием swarm.pem

Мониторить активность нашей ноды можно в этом дашборде вписав имя ноды которое мы ранее сохраняли оно стоит из 3 слов

2 Способ Установки Math Hard с использованием GPU (Не актуален)

Для начало нам понадобиться обычный сервер чтобы SSH подключится Брал на хорьке самый дешевый Ubuntu 22.04

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

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

Делаем SSH-ключи для доступа к серверу

ssh-keygen -t ed25519 -C "придумайте любое название"

Нажимает 3 раза ENTER

После чего вводим

cat ~/.ssh/id_ed25519.pub

Дальше идем Арендовать сервер с видеокартой здесь выбираем характеристики как на скрине и нажимаем RENT

Переходим в раздел Instances и ждем пока сервер станет активным

После того как сервер стал активен нажимаем на ключ и копируем наш SSH который мы создавали

Вставляем ваш SSH и нажимаем ADD SSH KEY получаем ваш proxy ssh connect копируем его

Вписываем ваш proxy ssh connect в терминал

Вводим ваш SSH

Далее нажимаем yes должно быть вот так

Обновляем перед установкой

apt update && apt install -y sudo

Устанавливаем Скринер

apt update
apt install -y screen

Создаем сессию в скринере

screen -S gensyn

Устанавливаем другие зависимости

cd $HOME
apt install git -y

Репозиторий Yarn

echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Устанавливаем Node.js и npm

curl -sSL https://raw.githubusercontent.com/zunxbt/installation/main/node.sh | bash

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

sudo apt update && sudo apt install -y python3 python3-venv python3-pip curl wget 

Клонируем репозиторий

git clone --branch v0.4.2 https://github.com/gensyn-ai/rl-swarm.git

Переходим в директорию

cd rl-swarm

Создаем файлы

touch BACKUP.md README.md UPDATE.md backup.sh gensyn.sh

Выдаем право

chmod +x gensyn.sh

Запускаем скрипт

./gensyn.sh

Создать виртуальное окружение Python:

python3 -m venv .venv

Активируем виртуальное окружение

source .venv/bin/activate

Запускам скрипт

./run_rl_swarm.sh
  • Would you like to connect to the Testnet? [Y/n] Enter Y

Выбираем B И 1.5

Останавливаем ноду CTRL+C

Пишем

nano modal-login/app/page.tsx

Вставляем это (попросите gpt или DeepSeek чтобы он дал нормально скопировать конфиг который ниже) ибо teletype не даст вам скопировать так чтобы не возникло ошибки

"use client";
import {
  useAuthModal,
  useLogout,
  useSigner,
  useSignerStatus,
  useUser,
} from "@account-kit/react";
import { useEffect, useState } from "react";

interface ApiKeyResponse {
  publicKey: string;
}

export default function Home() {
  const user = useUser();
  const { openAuthModal } = useAuthModal();
  const signerStatus = useSignerStatus();
  const { logout } = useLogout();
  const signer = useSigner();

  const [createdApiKey, setCreatedApiKey] = useState<boolean>(false);
  const [isCreating, setIsCreating] = useState<boolean>(false);

  useEffect(() => {
    // Reset when user logs out
    if (!user && createdApiKey) {
      setCreatedApiKey(false);
    }

    // Guard conditions
    if (
      !user ||
      !signer ||
      !signerStatus.isConnected ||
      createdApiKey ||
      isCreating
    ) {
      return;
    }

    let isMounted = true;

    const submitStamp = async (): Promise<ApiKeyResponse> => {
      const whoamiStamp = await signer.inner.stampWhoami();
      const resp = await fetch("/api/get-api-key", {
        method: "POST",
        body: JSON.stringify({ whoamiStamp }),
      });
      if (!resp.ok) {
        throw new Error("Failed to fetch public key");
      }
      return await resp.json();
    };

    const createApiKey = async (publicKey: string): Promise<void> => {
      await signer.inner.experimental_createApiKey({
        name: `server-signer-${new Date().getTime()}`,
        publicKey,
        expirationSec: 60 * 60 * 24 * 62,
      });
    };

    const handleAll = async () => {
      setIsCreating(true);
      try {
        const { publicKey } = await submitStamp();
        await createApiKey(publicKey);
        await fetch("/api/set-api-key-activated", {
          method: "POST",
          body: JSON.stringify({ orgId: user.orgId, apiKey: publicKey }),
        });
        if (isMounted) {
          setCreatedApiKey(true);
        }
      } catch (err) {
        console.error(err);
        alert("Something went wrong. Please check the console for details.");
      } finally {
        if (isMounted) setIsCreating(false);
      }
    };

    handleAll();

    return () => {
      isMounted = false;
    };
  }, [createdApiKey, signer, signerStatus.isConnected, user, isCreating]);

  useEffect(() => {
    if (typeof window === "undefined") return;

    try {
      if (typeof window.crypto.subtle !== "object") {
        throw new Error("window.crypto.subtle is not available");
      }
    } catch (err) {
      alert(
        "Crypto API is not available in this browser. Please use HTTPS or localhost."
      );
    }
  }, []);

  useEffect(() => {
    if (!user && !signerStatus.isInitializing) {
      openAuthModal();
    }
  }, [user, signerStatus.isInitializing]);

  return (
    <main className="flex min-h-screen flex-col items-center gap-4 justify-center text-center">
      {signerStatus.isInitializing || (user && !createdApiKey) ? (
        <>Loading...</>
      ) : user ? (
        <div className="card">
          <div className="flex flex-col gap-2 p-2">
            <p className="text-xl font-bold">
              YOU ARE SUCCESSFULLY LOGGED IN TO THE GENSYN TESTNET
            </p>
            <button className="btn btn-primary mt-6" onClick={() => logout()}>
              Log out
            </button>
          </div>
        </div>
      ) : (
        <div className="card">
          <p className="text-xl font-bold">LOGIN TO THE GENSYN TESTNET</p>
          <div className="flex flex-col gap-2 p-2">
            <button className="btn btn-primary mt-6" onClick={openAuthModal}>
              Login
            </button>
          </div>
        </div>
      )}
    </main>
  );
}

Ctrl + O Сохраняем

После нажимаем Enter

После нажимаем Ctrl + X

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

python3 -m venv .venv && . .venv/bin/activate && 
./run_rl_swarm.sh

Затем выходим из скринера CTRL+A+D

Вписываем команды по одной

sudo apt install ufw -y
sudo ufw allow 22
sudo ufw allow 3000/tcp
sudo ufw enable

Скачиваем клаудфаер чтобы сгенерировался наша ссылка

wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb

Запускаем Сгенерируется ваша уникальная ссылка чтобы зарегистрироваться переходим туда

cloudflared tunnel --url http://localhost:3000

После того как прошли регистрацию возвращаемся в нашу скринер сессию

CTRL+C

Screen -ls

Screen -r вписываем ваши 4 цифры сессии

Выбираем тоже самое B и 1.5

Ожидаем установку

После чего обязательно сохраняем наши данные в графе INFO 2 строки там будет ваш peer ID и ваши 3 уникальных слова по которым может отслеживать активность нашей ноды

После просто ожидаем появление логов если они выглядят так значит все хорошо

Можем выходит CTRL+A+D

Обязательно делаем Бекап нашей ноды

Открываем Терминал в нашем сервере здесь

Нажимаем Open

Откроется терминал нам нужно выбрать вкладку File после Open

Нас перекинет к множеству папок выбираем Root и дальше rl-swarm и здесь будет ваш файл под названием Swarm.pem сохраняем его в надежное место

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

Мониторить активность нашей ноды можно в этом дашборде вписав имя ноды которое мы ранее сохраняли оно стоит из 3 слов