Гайды по нодам
September 18

Установка ноды Vana


1. Требования к ноде

Минимальная конфигурация сервера

- 1 CPU

- 8GB RAM

- 10GB storage

Ссылки проекта

Сайт
Документация
Twitter
GitHub
Discord

2. Установка ноды

1. Обновляем и скачиваем пакеты, Python

sudo apt update -y && sudo apt upgrade -y
sudo apt install -y software-properties-common python3-pip python3-poetry
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update -y
sudo apt install -y python3.12

2. Клонируем репозиторий и заходим в него

git clone https://github.com/vana-com/vana-dlp-chatgpt.git
cd vana-dlp-chatgpt

3. Создаем .env файл

cp .env.example .env

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

poetry install

5. Устанавливаем CLI

pip install vana --break-system-packages

Может ругаться на --break-system-packages, тогда просто вписываем команду без этого параметра

6. Создаем кошелек

vanacli wallet create --wallet.name default --wallet.hotkey default

Вас попросит придумать и ввести пароль, после чего ввести его еще раз

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

7. Добавляем тестнет сеть в кошелек

Переходим в любой EVM кошелек(Metamask, Rabby) и добавляем сеть

8. Экспортируем и сохраняем приватные ключи

Выводим и сохраняем первый приватник

vanacli wallet export_private_key
Enter wallet name (default): нажимаем enter
Enter key type [coldkey/hotkey] (coldkey): нажимаем enter
╭────────────────────────────────────────────────────────────────────╮
│ WARNING: Exporting private keys is a sensitive operation.          │
│ Never share your private key with anyone.                          │
│ Ensure you are in a secure, private environment before proceeding. │
╰────────────────────────────────────────────────────────────────────╯
Do you understand the risks? (yes/no): yes
Enter your coldkey password: сюда вводим пароль

Your coldkey private key: 

ТУТ БУДЕТ ВАШ ПРИВАТНИК

Выводим и сохраняем второй приватник

vanacli wallet export_private_key
Enter wallet name (default): нажимаем enter
Enter key type [coldkey/hotkey] (coldkey): hotkey
╭────────────────────────────────────────────────────────────────────╮
│ WARNING: Exporting private keys is a sensitive operation.          │
│ Never share your private key with anyone.                          │
│ Ensure you are in a secure, private environment before proceeding. │
╰────────────────────────────────────────────────────────────────────╯
Do you understand the risks? (yes/no): yes
Enter your coldkey password: сюда вводим пароль

Your hotkey private key: 

ТУТ БУДЕТ ВАШ ПРИВАТНИК

9. Импортируем приватники в кошелек

1) Нажимаем на список аккаунтов

2) Нажимаем "Добавить счет или аппаратный кошелек"

3) Нажимаем "Импортировать счет"

4) Вписываем наш приватник и нажимаем "импорт"

5) Повторяем все тоже самое для второго приватника

10. Запрашиваем токены из крана

Переходим по ССЫЛКЕ и запрашиваем токены

Запрашивать можно раз в сутки, поэтому запрашиваем сначала для первого кошелька, после чего включаем VPN, перезагружаем страницу и запрашиваем для второго. Подписываться на твиттер не обязательно, можно просто нажать на кнопку и закрыть твиттер

2. Создание DLP

Если вы присоединяетесь к существующей DLP в качестве валидатора, перейдите к разделу «4. Установка валидатора».

1. Генерация ключей

./keygen.sh

Этот сценарий генерирует пары ключей RSA для шифрования/дешифрования файлов в DLP.

Нас попросит ввести моникер, почту и срок действия ключей(по умолчанию 0)

Будет сгенерировано 4 ключа

  • public_key.asc и public_key_base64.asc (для UI)
  • private_key.asc и private_key_base64.asc (для валидатора)

3. Деплой смарт-контракта DLP

1. Качаем репозиторий и заходим в него

cd ..
git clone https://github.com/Josephtran102/vana-dlp-smart-contracts
cd vana-dlp-smart-contracts

2. Установка nodejs и зависимостей

Скачиваем nodejs

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
apt-get install nodejs -y
npm install -g yarn

Качаем зависимости

yarn install

3. Создаем .env и заполняем

cp .env.example .env
nano .env

меняем следующие строчки

DEPLOYER_PRIVATE_KEY=0x... (ваш coldkey приватный ключ)
OWNER_ADDRESS=0x... (ваш coldkey адрес кошелька)
DLP_NAME=... (ваше DLP имя (придумайте))
DLP_TOKEN_NAME=... (ваше DLP имя токена)
DLP_TOKEN_SYMBOL=... (ваш DLP токен символ)

Лишние строки, которых нет на скрине - удаляем

Сохраняем последовательным нажатием

ctlr+x

y

enter

4. Деплоим смарт-контакт в сеть

1) Деплоим контракт

npx hardhat deploy --network moksha --tags DLPDeploy

Нам выдаст пару адресов
DataLiquidityPoolToken и DataLiquidityPool. Мы можем вбить их в эксплорер и убедиться что все в порядке

4. Установка валидатора

Следуйте этим шагам независимо от того, создаете ли вы DLP или присоединяетесь к существующей DLP..

Необходимая информация
Для лиц, не являющихся создателями DLP, запрашивается у создателя DLP:

  • Адрес контракта DLP (DataLiquidityPool)
  • Адрес контракта DLP-токена (DataLiquidityPoolToken)
  • Открытый ключ для сети валидаторов DLP (public_key.asc)
  • Закодированный в Base64 закрытый ключ для сети валидаторов DLP (private_key_base64.asc)

1. Переходим в папку vana-dlp-chatgpt

Если вы находитесь в папке смарт-контракта

cd ..
cd vana-dlp-chatgpt

Если нет, то просто

cd vana-dlp-chatgpt

2. Редактирование .env

Если вы не являетесь создателем DLP, отредактируйте файл .env с информацией, предоставленной создателем DLP

Если вы создавали DLP, то соответственно заполняем свое

nano .env
OD_CHAIN_NETWORK=moksha
OD_CHAIN_NETWORK_ENDPOINT=https://rpc.moksha.vana.org
OPENAI_API_KEY="ВАШ_API_КЛЮЧ"
DLP_MOKSHA_CONTRACT=ВАШ_DataLiquidityPool
DLP_TOKEN_MOKSHA_CONTRACT=ВАШ_DataLiquidityPoolToken
PRIVATE_FILE_ENCRYPTION_PUBLIC_KEY_BASE64="ваш_приватник_из_файла"

Чтобы найти ключ для PRIVATE_FILE_ENCRYPTION_PUBLIC_KEY_BASE64 вводим команду

cat /root/vana-dlp-chatgpt/private_key_base64.asc

и вот этот набор букв и цифр копируем в файл

после чего сохраняем последовательным нажатием

ctrl+x

y

enter

3. Регистрация валидатора

1) Импортируем наш DataLiquidityPoolToken адрес, как токен в кошелек(на cold адрес)

2) Проверьте что у вас есть 10 ваших токенов на coldkey адресе

3) Регистрируем валидатора

./vanacli dlp register_validator --stake_amount 10
здоровые логи

Никаких ошибок быть не должно. Если есть ошибки - проверяйте .env на правильность

4) Апруваем своего валидатора

./vanacli dlp approve_validator --validator_address=<ВАШ ХОТКЕЙ АДРЕС ИЗ МЕТАМАСКА>

5) Заходим в скрин сессию

screen -S vana_node

6) Запускаем валидатора

poetry run python -m chatgpt.nodes.validator

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

5. Тестирование валидатора

Тестирование вашего Валидатора

Для публичного ChatGPT DLP

Если вы валидируете в публичном ChatGPT DLP, выполните следующие шаги:

  1. Посетите официальный интерфейс ChatGPT DLP.
  2. Подключите ваш кошелек (должен содержать немного VANA).
  3. Следуйте инструкциям на интерфейсе, чтобы загрузить файл (для отправки транзакции addFile).
  4. Дождитесь, пока ваш валидатор обработает файл и запишет оценки в блокчейн (транзакция verifyFile).
  5. Проверьте интерфейс на наличие диалога для получения награды и протестируйте получение наград.

Для пользовательских DLP

Если вы валидаете с вашим собственным или пользовательским DLP, выполните следующие шаги:

  1. Посетите демонстрационный интерфейс DLP.
  2. Подключите ваш кошелек (должен содержать немного VANA).
  3. Используйте иконку шестеренки, чтобы установить адрес контракта DLP и публичный ключ шифрования.
  4. Загрузите файл (для отправки транзакции addFile).
  5. В консольных логах обратите внимание на URL загруженного файла и ключ шифрования (вы также можете добавлять файлы вручную через https://satori.vanascan.io/address/?tab=write_contract).
  6. Дождитесь, пока ваш валидатор обработает файл и запишет оценки в блокчейн (транзакция verifyFile).
  7. Проверьте интерфейс на наличие диалога для получения награды и протестируйте получение наград.

Примечание: Для сильно модифицированных DLP вам может понадобиться зарегистрироваться через обозреватель Satori, используя браузерное расширение вашего кошелька:

  • Импортируйте ваш hotkey в совместимый с браузером кошелек, такой как MetaMask.
  • Перейдите на вкладку Write proxy для проверенного контракта DLP в обозревателе Satori. Вы можете получить этот URL от владельца DLP.
  • Подключитесь к вашему hotkey с помощью кнопки внизу страницы.
  • Отправьте транзакцию регистрации валидатора с адресами вашего hotkey и coldkey в качестве адресов валидатора и владельца валидатора, а также с количеством необходимых токенов для стейкинга. Убедитесь, что вы стейкаете как минимум минимальное количество конкретного токена, требуемого DLP.
Наш телеграмм канал по нодам — https://t.me/g7monitor
Наш чат по нодам — https://t.me/g7team_chat