Установка ноды Vana
1. Требования к ноде
Минимальная конфигурация сервера
Ссылки проекта
Сайт
Документация
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) и добавляем сеть
- Network name: Moksha Testnet
- RPC URL: https://rpc.moksha.vana.org
- Chain ID: 14800
- Currency: VANA
- Explorer: https://moksha.vanascan.io
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)
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 и зависимостей
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 токен символ)
Лишние строки, которых нет на скрине - удаляем
Сохраняем последовательным нажатием
4. Деплоим смарт-контакт в сеть
npx hardhat deploy --network moksha --tags DLPDeploy
Нам выдаст пару адресов
DataLiquidityPoolToken и DataLiquidityPool. Мы можем вбить их в эксплорер и убедиться что все в порядке
4. Установка валидатора
Следуйте этим шагам независимо от того, создаете ли вы DLP или присоединяетесь к существующей DLP..
Необходимая информация
Для лиц, не являющихся создателями DLP, запрашивается у создателя DLP:
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
и вот этот набор букв и цифр копируем в файл
после чего сохраняем последовательным нажатием
3. Регистрация валидатора
1) Импортируем наш DataLiquidityPoolToken адрес, как токен в кошелек(на cold адрес)
2) Проверьте что у вас есть 10 ваших токенов на coldkey адресе
./vanacli dlp register_validator --stake_amount 10
Никаких ошибок быть не должно. Если есть ошибки - проверяйте .env на правильность
./vanacli dlp approve_validator --validator_address=<ВАШ ХОТКЕЙ АДРЕС ИЗ МЕТАМАСКА>
screen -S vana_node
poetry run python -m chatgpt.nodes.validator
Следите за логами, если все ок, то будет надпись что валидатор ожидает файлы для проверки
5. Тестирование валидатора
Тестирование вашего Валидатора
Для публичного ChatGPT DLP
Если вы валидируете в публичном ChatGPT DLP, выполните следующие шаги:
- Посетите официальный интерфейс ChatGPT DLP.
- Подключите ваш кошелек (должен содержать немного VANA).
- Следуйте инструкциям на интерфейсе, чтобы загрузить файл (для отправки транзакции
addFile
). - Дождитесь, пока ваш валидатор обработает файл и запишет оценки в блокчейн (транзакция
verifyFile
). - Проверьте интерфейс на наличие диалога для получения награды и протестируйте получение наград.
Для пользовательских DLP
Если вы валидаете с вашим собственным или пользовательским DLP, выполните следующие шаги:
- Посетите демонстрационный интерфейс DLP.
- Подключите ваш кошелек (должен содержать немного VANA).
- Используйте иконку шестеренки, чтобы установить адрес контракта DLP и публичный ключ шифрования.
- Загрузите файл (для отправки транзакции
addFile
). - В консольных логах обратите внимание на URL загруженного файла и ключ шифрования (вы также можете добавлять файлы вручную через https://satori.vanascan.io/address/?tab=write_contract).
- Дождитесь, пока ваш валидатор обработает файл и запишет оценки в блокчейн (транзакция
verifyFile
). - Проверьте интерфейс на наличие диалога для получения награды и протестируйте получение наград.
Примечание: Для сильно модифицированных DLP вам может понадобиться зарегистрироваться через обозреватель Satori, используя браузерное расширение вашего кошелька:
- Импортируйте ваш hotkey в совместимый с браузером кошелек, такой как MetaMask.
- Перейдите на вкладку Write proxy для проверенного контракта DLP в обозревателе Satori. Вы можете получить этот URL от владельца DLP.
- Подключитесь к вашему hotkey с помощью кнопки внизу страницы.
- Отправьте транзакцию регистрации валидатора с адресами вашего hotkey и coldkey в качестве адресов валидатора и владельца валидатора, а также с количеством необходимых токенов для стейкинга. Убедитесь, что вы стейкаете как минимум минимальное количество конкретного токена, требуемого DLP.
Наш телеграмм канал по нодам — https://t.me/g7monitor
Наш чат по нодам — https://t.me/g7team_chat