VANA
1. Оновлюємо та встановлюємо необхідні пакети:
sudo apt update && sudo apt upgrade -y
sudo apt install git unzip nano -y
sudo apt install software-properties-common -y
sudo add-apt-repository ppa: deadsnakes/ppa
### Нажимаем Enter
sudo apt update
sudo apt install python3.11 -y
### Проверяем установку Python
python3.11 --version
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
poetry --version
curl -fsSL https://fnm.vercel.app/install | bash
source ~/.bashrc
fnm use --install-if-missing 22
### Проверяем установку NodeJS и npm
node -v && npm -v
apt-get install nodejs -y
npm install -g yarn
### Проверяем версию Yarn
yarn --version
6.Завантажуємо репозиторій ноди:
git clone https://github.com/vana-com/vana-dlp-chatgpt.git && cd vana-dlp-chatgpt
cp .env.example .env
8.Встановлюємо залежності і CLI:
poetry install
pip install vana
Можлива така помилка, продовжуєм:
9.Створюємо гаманець. Створюємо пароль (введення не відображатиметься) для захисту і зберігаємо сид фрази від Coldkey і Hotkey гаманців:
vanacli wallet create --wallet.name default --wallet.hotkey default
- Network name: Satori Tetsnet
- RPC URL: https://rpc.satori.vana.org/
- Chain ID: 14801
- Currency: VANA
Вводимо дані в даному вікні та натискаємо “Зберегти”:
11. Необхідно отримати приватний ключ Coldkey. Для цього виконуємо таке:
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: Вводимо пароль від гаманця
12. Додайте приватний ключ до EVM-гаманця. Я використовую Metamask:
Далі натискаємо "Імпортувати рахунок" та вводимо приватний ключ.
13. Тепер отримуємо приватний ключ від 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: Вводим пароль от кошелька
14. Додайте приватний ключ у свій EVM-гаманець, як раніше додавали приватний ключ від Coldkey.
15. Створимо DLP. Спочатку згенеруємо ключі:
./keygen.sh
### Сервер попросит создать имя Vana DLP Validator, почту, а также срок действия ключей. Введите свои значения, когда дойдет до срока действия ключей - просто жмите Enter
16. Перейдемо до етапу створення смарт-контракту. Завантажуємо необхідний репозиторій:
cd && git clone https://github.com/vana-com/vana-dlp-smart-contracts.git && cd vana-dlp-smart-contracts
yarn install
18.Створюємо .env файл:
cp .env.example .env
19. Відредагуємо цей файл. Використовуємо команду:
nano .env
У файлі необхідно відредагувати такі рядки:
DEPLOYER_PRIVATE_KEY=0x... (Вставляем приватный ключ от Coldkey) OWNER_ADDRESS=0x... (Адрес вашего кошелька Coldkey) DLP_NAME=... (Придумываем имя для DLP) DLP_TOKEN_NAME=... (Придумываем имя для токена DLP) DLP_TOKEN_SYMBOL=... (Придумываем тикер для DLP)
Зберігаємо файл за допомогою комбінації клавіш CTRL+X, Y, Enter.
Також запитайте тестових токенів $VANA на адресу гаманця Coldkey: https://faucet.vana.org/
npx hardhat deploy --network satori --tags DLPDeploy
Сервер поверне вам дві адреси: DataLiquidityPoolToken та DataLiquidityPool. Збережіть їх у надійне місце.
21. Вводимо такі команди. Замініть необхідні дані на свої:
npx hardhat verify --network satori <Ваш_DataLiquidityPool_Address>
npx hardhat verify --network satori <Ваш_DataLiquidityPoolToken_Address> "<Ваш_DLP_TOKEN_NAME>" <Ваш_DLP_TOKEN_SYMBOL> <Ваш_Адрес_Кошелька_COLDKEY>
Можлива така помилка, пропускаємо:
22. Перейдіть на сайт https://satori.vanascan.io/address/Ваш_DLP_POOL_CONTRACT_ADDRESS. Уважно відредагуйте посилання! Ось так виглядає сторінка з моїм контрактом:
23. Після того, як перейшли на сайт, йдемо у вкладку "Contract", далі "Write proxy" та підключаємо EVM-гаманець. Викликаємо функцію updateFileRewardDelay і ставимо 0, підписуємо транзакцію в гаманці. Після цього викликаємо функцію addRewardsForContributors з 1 мільйоном токенів.
24. Тепер створюємо API від OpenAI (потрібний VPN). Переходимо за посиланням: https://platform.openai.com/settings/profile?tab=api-keys, створюємо новий приватний ключ. Вписуємо будь-яке ім'я, створюємо API і зберігаємо його кудись. У процесі знадобиться закордонний номер телефону, можна взяти тут:
25. Отримуємо публічний ключ. Все, що виведе сервер, необхідно зберегти:
cat /root/vana-dlp-chatgpt/public_key_base64.asc
26. Переходимо до папки та редагуємо файл .env:
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="Весь_Ваш_Вывод_Из_Команды_25"
Зберігаємо файл через CTRL + X, Y, Enter.
27. Тепер необхідно імпортувати свій DLP токен у EVM-гаманець. У Metamask це кнопка імпорту токенів. Вставляєте свою адресу контракту (адресу DataLiquidityPoolToken), після цього відправте 10 своїх токенів (у мене це $MLPT) на адреси Hotkey та Coldkey.
./vanacli dlp register_validator --stake_amount 10
### Два рази тиснемо Enter і вводимо пароль від гаманця
./vanacli dlp approve_validator --validator_address=<Ваш_Адреса_Гаманець_HOTKEY>
### Сервер запросить пароль від гаманця
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=<Ваш_Путь_К_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
34. Перевіряємо логи командою:
sudo journalctl -u vana.service -f