September 26

VANA

1. Оновлюємо та встановлюємо необхідні пакети:

sudo apt update && sudo apt upgrade -y
sudo apt install git unzip nano -y

2. Встановлюємо 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
### Проверяем установку Python
python3.11 --version

3. Встановлюємо 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
 ### Проверяем установку Poetry 
poetry --version

4.Встановлюємо NodeJs и npm:

curl -fsSL https://fnm.vercel.app/install | bash
source ~/.bashrc
fnm use --install-if-missing 22
### Проверяем установку NodeJS и npm
node -v && npm -v

5.Встановлюємо залежності:

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

7.Створюємо .env файл:

cp .env.example .env

8.Встановлюємо залежності і CLI:

poetry install
pip install vana
Можлива така помилка, продовжуєм:

9.Створюємо гаманець. Створюємо пароль (введення не відображатиметься) для захисту і зберігаємо сид фрази від Coldkey і Hotkey гаманців:

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

10.

  1. Добавляем сеть Satori в EVM-кошелек:

Вводимо дані в даному вікні та натискаємо “Зберегти”:

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

17. Встановлюємо залежності:

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/

20.Робимо деплой контракту:

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.

28. Реєструємо валідатора:

./vanacli dlp register_validator --stake_amount 10
### Два рази тиснемо Enter і вводимо пароль від гаманця

29. Далі вводимо цю команду:

./vanacli dlp approve_validator --validator_address=<Ваш_Адреса_Гаманець_HOTKEY>
### Сервер запросить пароль від гаманця

30.Запускаєм валідатор:

poetry run python -m chatgpt.nodes.validator

31.Шукаємо шлях до Poetry:

echo $(which poetry)

32. Створюємо сервісний файл:

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

33. Запускаємо сервіс:

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