October 2

Как установить Vana ноду на Ubuntu 22.04

Минимальные требования к ноде VANA 4CPU/8RAM/10SSD
Можно купить на xorek.cloud

Подключаемся на наш сервер через root+пароль

sudo apt update && sudo apt upgrade -y

Если появился такой запрос выбираем 8 (во всех случаях)

sudo apt-get install git -y
sudo apt install unzip
sudo apt install nano
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa

Нажимаем ENTER

sudo apt update
sudo apt install python3.11 -y

sudo apt install python3-pip python3-venv curl -y

curl -sSL https://install.python-poetry.org | python3 -

export PATH="$HOME/.local/bin:$PATH"

source ~/.bashrc

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

curl -fsSL https://fnm.vercel.app/install | bash

source ~/.bashrc

fnm use --install-if-missing 22

проверяем все ли у нас установилось верно
node -v && npm -v
(должна быть node.js 22.9.0 и npm 10.8.3 соответственно)

apt-get install nodejs -y

npm install -g yarn

Устанавливаем клиент ноды

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

cp .env.example .env

poetry install

pip install vana

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

Здесь нас попросят придумать пароль для ноды (обязательно делайте нормальный пароль и сохраните его)

Нода выдаст нам Coldkey и Hotkey сид фразы (мнемонику) сохраняем их

Далее нам нужно вытащить приватные ключи из Coldkey и Hotkey, для этого вводим

vanacli wallet export_private_key

Нас попросят ввести имя, выбрать тип кошелька, согласиться (yes) и ввести пароль, который мы придумали и сохранили чуть ранее.

Enter wallet name (default): Enter (нажимаем) Enter key type [coldkey/hotkey] (coldkey): Enter (нажимаем) Do you understand the risks? (yes/no): yes Enter your coldkey password: наш пароль

После чего нода нам выдаст приватный ключ для COLDKEY сохраняем его


Тоже самое проделываем и с Hotkey
vanacli wallet export_private_key

Enter wallet name (default): Enter (нажимаем) Enter key type [coldkey/hotkey] (coldkey): hotkey (ВВОДИМ) Do you understand the risks? (yes/no): yes Enter your coldkey password: наш пароль

после чего нода выдаст нам приватный ключ для HOTKEY сохраняем его

Отправляемся в МетаМаск

Добавляем сеть Vana Moksha

Network name: Vana Moksha Testnet
RPC URL: https://rpc.moksha.vana.org
Chain ID: 14800
Currency: VANA
Block Explorer: https://moksha.vanascan.io

Импортируем наши приватные ключи Coldkey и Hotkey

Account -> Добавить счет -> Импортировать счет -> Вставляем приватный ключ Coldkey
Повторяем тоже самое для Hotkey
(можно переименовать созданные аккаунты на Coldkey и Hotkey соответственно)


Запрашиваем токены из крана https://faucet.vana.org выбираем Moksha (можно не подписываться на твитер просто нажать кнопку). Что бы запросить и на Coldkey и Hotkey нужно воспользоваться ВПН так как кран с 1 айпи дает только на 1 кош. Либо запросить на Cold и часть отправить на Hot

Возвращаемся обратно на наш VPS

./keygen.sh

Нас попросят ввести моникер (любое название), почту и срок действия ключей (по умолчанию 0, нажмите Enter) не забудьте это записать и сохранить

После этого нам выдадут вот такой набор символов значит все ок

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

sudo systemctl stop vana.service

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

cd vana-dlp-smart-contracts

npm install -g yarn

yarn --version

должна показать версию

yarn install

создаем ENV file

cp .env.example .env

nano .env

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

РАСПОЛОЖЕНИЕ СТРОК, ОТСТУПЫ итп В ENV файле должно быть точно такое же как на скрине, если будет допущена хоть 1 ошибка в формировании env файла при диплое контракта будет ошибка.

Сохраняем изменения Сtrl+O, Enter. Далее выходим из редактора nano Сtrl+X

Убеждаемся, что на кошельках Coldkey и Hotkey появились тестовые токены VANA, если их нет то диплой контракта не пройдет

npx hardhat deploy --network moksha --tags DLPDeploy

после этого начнется диплой контракта, по окончанию которого нам выдаст адрес контрактов DataLiquidityPoolToken и DataLiquidityPool их так же сохраняем

Импортируем адрес контракта токена DataLiquidityPoolToken в наш кошелек Coldkey метамаск (у меня это SKSCT у вас будет свой) и отправляем 10 токенов (ни больше ни меньше ровно 10) на адрес Coldkey и Hotkey (да это выглядит странно но так нужно)
Отправляемся в Hotkey добавляем тот же контракт токена DataLiquidityPoolToken и убеждаемся, что наши 10 токенов пришли.

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

Нам понадобится OpenAI API

Отправляемся на OpenAI Platform, авторизуемся в своем аккаунте или создаем новый -> "Create new secret key" -> придумываем название -> создаем API и сохраняем его туда где мы сохраняли все предыдущие важные данные

Возвращаемся на нашу VPS и запрашиваем паблик кей бейс64

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

Нам снова выдаст вот такой набор символов копируем его полностью и сохраняем

cd

cd vana-dlp-chatgpt

nano .env

РАСПОЛОЖЕНИЕ СТРОК, ОТСТУПЫ итп В ENV файле должно быть точно такое же как на скрине, если будет допущена хоть 1 ошибка в формировании env файла регистрация валидатора не пройдет

# The network to use, currently Vana Moksha testnet
OD_CHAIN_NETWORK=moksha
OD_CHAIN_NETWORK_ENDPOINT=https://rpc.moksha.vana.org

# Optional: OpenAI API key for additional data quality check
OPENAI_API_KEY=API ключ из OpenAI sk-................................kA"

# Optional: Your own DLP smart contract address once deployed to the network, useful for local testing

DLP_MOKSHA_CONTRACT=адрес контракта DataLiquidityPool
# Optional: Your own DLP token contract address once deployed to the network, useful for local testing

DLP_TOKEN_MOKSHA_CONTRACT=адрес контракта DataLiquidityPoolToken

# The private key for the DLP, follow "Generate validator encryption keys" section in the README
PRIVATE_FILE_ENCRYPTION_PUBLIC_KEY_BASE64="Длинный PUBLIC_KEY_BASE64 ОБЯЗАТЕЛЬНО В КОВЫЧКАХ"

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

./vanacli dlp register_validator --stake_amount 10

Два раза нажимаем Enter и вводим пароль от ноды, который сохраняли в самом начале

Пойдут вот такие логи

В конце увидим транзакцию регистрации, адрес валидатора и адрес владельца (owner) значит все хорошо

Делаем апрув валидатора

./vanacli dlp approve_validator --validator_address=публичный адрес Hotkey

В конце увидим транзакцию апрува и подтверждение апрува

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

poetry run python -m chatgpt.nodes.validator

Если пошли вот такие логи значит все хорошо

Проверить логи
sudo journalctl -u vana.service -f