October 31, 2024

vana

алгоритм установки ноды vana

  • установка 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

  • установка 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

  • установка nodejs, npm и yarn
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
poetry install
pip install vana

  • создание кошелька
vanacli wallet create --wallet.name default --wallet.hotkey default

копируем coldkey мнемонику, устанавливаем пароль, копируем hotkey мнемонику

  • экспорт приватных ключей
vanacli wallet export_private_key

повторяем для coldkey и для hotkey
добавляем кошельки в metamask
запрашиваем токены через кран

  • генерируем ключи
./keygen.sh

  • копируем публичный ключ
cat /root/vana-dlp-chatgpt/public_key_base64.asc

  • деплоим смарт-контракт DLP
cd $HOME
rm -rf vana-dlp-smart-contracts
git clone https://github.com/Josephtran102/vana-dlp-smart-contracts
cd vana-dlp-smart-contracts
npm install -g yarn
yarn install
cp .env.example .env
sudo apt install nano
nano .env

меняем значения на свои
сохраняем через ctrl+x, y, enter

npx hardhat deploy --network moksha --tags DLPDeploy

пока деплоится контракт, создаём и сохраняем openAI API ключ

(или тут, если первая ссылка перестанет работать)

  • Переходим в папку vana-dlp-chatgpt и открываем файл .env
cd /root/vana-dlp-chatgpt
nano .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=ВАШ_OPENAI_API_KEY

# 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=ВАШ_Приватный_ключ

меняем значения на свои
сохраняем через ctrl+x, y, enter
импортируем DataLiquidityPoolToken на coldkey кошелёк в metamask
переводим 10 токенов на hotkey

  • регистрация и запуск валидатора
./vanacli dlp register_validator --stake_amount 10

жмём enter, вводим пароль

./vanacli dlp approve_validator --validator_address=АДРЕС_HOTKEY_КОШЕЛЬКА

жмём enter, вводим пароль

poetry run python -m chatgpt.nodes.validator

выходим через ctrl+c

  • создание и запуск сервисного файла
echo $(which poetry)

если путь /root/.local/bin/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