Vana - the first network for user-owned data. Устанавливаем ноду
[0x]Geekid — гикаем крипту вместе
Vana — это новый пользовательский AI чейн.
Возможно будущий единорог бычьего цикла, так что ставим ноду обязательно.
Несколько дней назад объявили о новом инвест раунде. Проект находится на ранней стадии и у нас есть возможность занять статус early.
На данный момент, у проекта присутствуют такие активности как: тапалка в тг, фарм ролей в Discord, активности в тестовой сети, в том числе и нода.
Характеристики сервера: 1CPU/8RAM/10SSD - минимальные
Ubuntu 22.04 - обязательно
Устанавливаем необходимые зависимости
Обновляем и устанавливаем необходимые пакеты
sudo apt update && sudo apt upgrade -y
Устанавливаем Git, Unzip, Nano
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
sudo apt update sudo apt install python3.11 -y
Проверяем правильность установки
python3.11 --version
Если команда показывает Python 3.11.10
, то всё установилось верно
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
Проверяем правильность установки
poetry --version
Если команда показывает Poetry version x.x.x
, то всё установилось верно (вместо x.x.x покажет номер версии)
curl -fsSL https://fnm.vercel.app/install | bash
source ~/.bashrc
fnm use --install-if-missing 22
Проверяем правильность установки
node -v && npm -v
Если команда показывает v22.9.0
и 10.8.3
, то всё установилось верно
apt-get install nodejs -y
npm install -g yarn
Проверяем правильность установки
yarn --version
Установка ноды
Клонируем репозиторий и заходим в него
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
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 — обязательно сохраните его
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 — обязательно сохраните его
Далее импортируйте полученные ключи в Metamask
Добавляем Vana Moksha Testnet в свой Metamask:
Network name: Vana Moksha Testnet
RPC URL: https://rpc.moksha.vana.org
Chain ID: 14800
Currency: VANA
Block Explorer: https://moksha.vanascan.i
https://faucet.vana.org
Кран даёт токены раз в сутки, поэтому после запроса на первый кошелёк, включите VPN, обновите страницу и запросите токены на второй кошелёк. Можно не подписываться на Twitter, просто нажмите на кнопку и закройте Twitter
После получения токенов, продолжайте
Создание DLP
./keygen.sh
Нас попросит ввести моникер (название), почту и срок действия ключей(по умолчанию 0, так и оставляем, поэтому просто нажмите Enter)
Деплой в сети Moksha
Запрашиваем тестовые токены на свой Coldkey кошелек в Discord в канале #data-contributors. Нужно просто написать что-то типа: "Please give me some Moksha network test coins" и указывайте адрес своего Coldkey кошелька. Обратите внимание, что на Hotkey токенов вам не дадут, так что можете не указывать. Админы присылают 1 VANA на Coldkey кошелек, поэтому я просто переслал половину себе на Hotkey
Удаляем старую папку для деплоя, скачиваем новую и переходим в неё
cd $HOME rm -rf vana-dlp-smart-contracts git clone https://github.com/Josephtran102/vana-dlp-smart-contracts cd vana-dlp-smart-contracts
Устанавливаем yarn и проверяем его версию
npm install -g yarn yarn --version
yarn install
Создаём файл .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 токен символ)
Обратите внимание, что теперь в этом файле есть данные и для сети Moksha
Если на кошельке не будет тестовых токенов, то деплой выдаст ошибку. Не нужно пытаться деплоить, пока вы не убедитесь, что на Coldkey и Hotkey есть тестовые токены
npx hardhat deploy --network moksha --tags DLPDeploy
Также стоит отметить, что теперь после деплоя не нужно будет вручную вызывать те две функции, которые мы делали в Satori, здесь всё делается автоматически
Как и раньше, нужно сохранить вывод после деплоя, а именно DataLiquidityPoolToken и DataLiquidityPool, эти два адреса нам понадобятся при запуске валидатора.
Установка валидатора
Для этого переходим по этой ссылке, авторизуемся в своем аккаунте или создаем новый, нажимаем на кнопку "+Create new secret key", вписываете любое имя, создаем API и обязательно копируем в надежное место
cat /root/vana-dlp-chatgpt/public_key_base64.asc
Это команда выдаст огромный набор цифр, букв и символов, весь этот огромный вывод сохраните в надежное место
Переходим в папку vana-dlp-chatgpt
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="ВАШ_OPENAI_API_КЛЮЧ"
# 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="ВАШ_ОГРОМНЫЙ_ВЫВОД"
В этом блоке заменяем на свои значения следующие поля:
Импортируем свой токен в Metamask на адрес Coldkey, для этого идем сюда
И вставляем контракт своего токена, это адрес DataLiquidityPoolToken
Отправьте 10 токенов (которые ты только что создал) на свой Hotkey кошелек и на свой Coldkey кошелек (в официальной документации так и сказано)
Регистрируем валидатора
./vanacli dlp register_validator --stake_amount 10
Два раза нажимаем Enter и вводим пароль, который сохраняли ранее
./vanacli dlp approve_validator --validator_address=<ВАЩ_АДРЕС_КОШЕЛЬКА_HOTKEY>
Один раз нажимаем Enter и вводим пароль, который сохраняли ранее
poetry run python -m chatgpt.nodes.validator
Создаем сервисный файл, чтобы валидатор работал в фоновом режиме. Для этого ищем путь к poetry
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