September 23

Vana: Гайд на ноду

Выбираем сервер показанный на скрине

• Устанавливаем Git, Unzip и Nano

sudo apt-get install git -y
sudo apt install unzip
sudo apt install nano

• После, устанавливаем Python

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa

• Жмем Enter и вводим:

sudo apt update sudo apt install python3.11 -y

• Если при вводе команды python3.11 --version показывает Python 3.11.10, значит вы все сделали верно

• Устанавливаем Poetry

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 и npm

curl -fsSL https://fnm.vercel.app/install | bash
source ~/.bashrc
fnm use --install-if-missing 22

• Ставим зависимости

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
pip install vana
poetry install

• ВАЖНО! Создаем кошелек и обязательно сохраняем пароль (который вы придумаете) и две мнемоник-фразы — Coldkey и Hotkey

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

• Добавляем в ваш EVM кошелек сеть и сохраняем приватные ключи

Network name: Vana Moksha Testnet

RPC URL: https://rpc.moksha.vana.org

Chain ID: 14800

Currency: VANA

Block Explorer: https://moksha.vanascan.io

• Вводим:

vanacli wallet export_private_key
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

Тут тоже сохраняем приватный ключ от Hotkey • В вашем EVM кошельке, импортируем эти два приватника (Coldkey и Hotkey) и берем токены в кране

После, cнова вводим команды для создания токена:

/keygen.sh

Жмем Enter

cd
git clone https://github.com/vana-com/vana-dlp-smart-contracts.git
cd vana-dlp-smart-contracts
yarn install
cp .env.example .env
nano .env

В текстовом окне вводим свои данные:
DEPLOYER_PRIVATE_KEY=0x... (Приватный ключ кошелька Coldkey)
OWNER_ADDRESS=0x... (Адрес кошелька Coldkey)
DLP_NAME=... (придумываем название контракта)
DLP_TOKEN_NAME=... (придумываем название токена и запоминаем)
DLP_TOKEN_SYMBOL=... (придумываем тикер токена и запонимаем)

• Сохраняем и закрываем комбинацией Ctrl +X > Y > Enter

npx hardhat deploy --network satori --tags DLPDeploy

• Вам выдадут DataLiquidityPoolToken и DataLiquidityPool, обязательно сохраняем их.

npx hardhat verify --network satori (СЮДА ВСТАВЛЯЕМ СВОЙ DataLiquidityPool)
npx hardhat verify --network satori (СЮДА ВСТАВЬТЕ ВАШ DataLiquidityPoolToken) ("СЮДА НАЗВАНИЕ ТОКЕНА") (СЮДА ТИКЕР) (СЮДА АДРЕС COLDKEY)

• На сайте ( https://satori.vanascan.io/address/контракт_токена (DataLiquidityPool) )

• Заходим в "Contract" и в "Write Proxy" подключаем кошелек

• В 24 пункте (updateFileRewardDelay) пишем 0, жмем Write и подписываем транзу

• В 4 пункте (addRewardsForContributors) пишем 1000000000000000000000000, жмем Write и снова подписываем транзакцию

P.S. на ошибки не обращаем внимания

- Финал, регистрируем и запускаем валидатора:
• Создаем OpenAI Api, жмем "Create new secret key", придумываем название и сохраняем себе куда нибудь.

• Вводим:

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

• Копируем все что вам выдаст и сохраняем

cd
cd vana-dlp-chatgpt
nano .env

• В открывшимся окне с текстом удаляем все содержимое и вводим свои данные:

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

# Optional: OpenAI API key for additional data quality check
OPENAI_API_KEY="Здесь ваш API из OpenAI"

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

DLP_SATORI_CONTRACT="Тут ваш DataLiquidityPool"
# Optional: Your own DLP token contract address once deployed to the network, useful for local testing

DLP_TOKEN_SATORI_CONTRACT="Тут ваш DataLiquidityPoolToken"

# The private key for the DLP, follow "Generate validator encryption keys" section in the README
PRIVATE_FILE_ENCRYPTION_PUBLIC_KEY_BASE64="Тут вставляем то что вам выдали и вы ранее копировали на предыдушем пункте"

• Сохраняем все и закрываем комбинацией CTRL + X > Y > Enter

• В Coldkey кошелек импортируем наш токен вставив DataLiquidityPoolToken
Отправляем самому себе по 10 токенов на Coldkey и Hotkey

./vanacli dlp register_validator --stake_amount 10

• Жмем Enter и вводим ваш пароль

• Далее, вписываем:

poetry run python -m chatgpt.nodes.validator

• Вводим дальше:

echo $(which poetry)
sudo tee /etc/systemd/system/vana.service << EOF 
[Unit] 
Description=Vana Validator Service 
After=network.target 

[Service] 
Type=simple 
User=root 
WorkingDirectory=/root/vana-dlp-chatgpt 
ExecStart=/root/.local/bin/poetry run python -m chatgpt.nodes.validator 
Restart=on-failure 
RestartSec=10 
Environment=PATH=/root/.local/bin:/usr/local/bin:/usr/bin:/bin:/root/vana-dlp-chatgpt/myenv/bin 
Environment=PYTHONPATH=/root/vana-dlp-chatgpt 

[Install] 
WantedBy=multi-user.target 
EOF
sudo systemctl daemon-reload && \
sudo systemctl enable vana.service && \
sudo systemctl start vana.service && \
sudo systemctl status vana.service

Для проверки работы вводим команду:
sudo journalctl -u vana.service -f