May 5, 2022

KYVE: Установка ноды

Korellia Task (Create explanatory content)
Моя нода: kyve10g82mlrkm4rcvyr9hyn9yqsc7r89smpghmqaqm

Для начала подготовим все необходимое для установки ноды:

1. Устанавливаем расширение Keplr и генерируем новый кошелек.

Расширение Keplr для Google Chrome: https://chrome.google.com/webstore/detail/keplr/dmkamcknogkgcdfhhbddcghachkejeap)

Нажимаем Установить.
Закрепляем расширение

Генерируем новый кошелек. (новую мнемоник фразу).

Нажимаем Create new account.

Создание нового аккаунта в Keplr.

Записываем сгенерированную в Keplr мнемоник фразу (Mnemonic seed) и прячем в самое безопасное место. Это фраза восстановления вашего кошелька, никто кроме вас не должен ее знать. (является по сути вашим кошельком и в случае утери кошелька его можно восстановить по этой фразе).

Вводим по порядку записанную вами ранее мнемоник фразу. (проверка правильности записи вами мнемоника).

Мы создали наш кошелек Keplr.

2. Запрашиваем токены на созданный кошелек Keplr используя краны KYVE. (токены понадобятся для создания валидатора).

Открываем app.kyve.network, чтобы запросить токены с крана, коннектим Keplr:

Разрешаем сайту получить доступ к кошельку, кликнув 2 раза на Approve.

Мы подключились к приложению используя наш созданный адрес кошелька.

Переходим в раздел Faucet.

Способ 1: Запрашиваем токены используя наш Twitter.

Нажимаем на Share on twitter, твиттер предложит отправить твитт.

После отправки твитта, копируем ссылку на свой пост и вставляем её в соответствующее поле на сайте. Нажимаем Claim your tokens и решаем капчу.

Теперь открываем Keplr и выбираем сеть Korellia, которая была добавлена автоматически.

Наблюдаем наш баланс.

Через некоторое время (в порядке очереди запросов) у нас на балансе появится 300 KYVE токенов.

Запрашивать можно только 1 раз.

Способ 2: Запрашиваем токены используя наш Discord.

Копируем запрос !faucet send адрес кошелька.

Нажимаем на Join our discord и вступаем в Discord проекта KYVE.

Вставляем скопированный ранее запрос в ветке faucet.

Далее ждем когда Discord бот вышлет нам 20 KYVE токенов на наш кошелек.

Запрашивать можно 1 раз в 24 часа.

Проверяем баланс.

Способ 3: Запрашиваем токены через колесо удачи.

Нажимаем Spin the Wheel и получаем рандомно от 1 до 10 токенов KYVE на наш Keplr кошелек.

Использовать колесо можно 1 раз в 24 часа.

3. Создаем кошелек Arweave и запрашиваем через кран токены AR. (токены AR понадобятся для запуска ноды).

Переходим на сайт крана https://faucet.arweave.net/ для создания кошелька и запроса монет. (кран не всегда работает стабильно). Использовать можно только 1 раз на IP и твиттер акаунт.

Выбираем I am ready и нажимаем Continue.

Нажимаем I understand и Download Wallet. Далее скачивается json файл. Этот файл является нашим ключем. Сохраните в надежное место и переименуйте в arweave.json этот файл нам понадобится далее.

Далее нажимаем Open Tweet Pop-Up чтобы запросить токены и отправляем наш твит. Далее нажимаем Next.

Ждем когда нам придет немного токенов AR на наш кошелек Arweave.

Далее, устанавливаем расширение Arweave и настраиваем наш кошелек Arweave импортировав созданный ранее json ключ.

Устанавливаем расширение кошелек Arweave для Google Chrome.

https://chrome.google.com/webstore/detail/arweave/iplppiggblloelhoglpmkmbinggcaaoc

После установки импортируем наш ранее созданный кошелек через сохраненный нами файл Arweave.json.

Выбираем установленной расширение Arweave и нажимаем Import an exciting wallet. Далее выбираем наш Arweave.json файл.

В поле Wallet name придумываем название вашему импортируемому Arweave кошельку, а в поле Set an encryption password задаем пароль вашему кошельку. И нажимаем Continue.

Далее мы получи наш импортированный кошелек.

Если прошло какое то продолжительное время но на нашем кошельке до сих пор 0 AR токенов, небольшое количество токенов можно приобрести на бирже и скинуть себе на наш адрес кошелька. (купить AR на 2-5 $ должно хватить для работы ноды).

На каких биржах торгуется токен AR. (Полный список.)

https://coinmarketcap.com/currencies/arweave/

Купленные AR токены нужно отправить на ваш Arweave адрес.

Адрес нашего кошелька. (При выводе токенов с биржи выбираем сеть Arweave. Токены по времени могут идти около 30-60 минут.)

Получили дополнительно купленные и переведенные с биржи токены AR на наш кошелек.

В итоге подготовки у вас должны быть:

  • Токены KYVE на кошельке Keplr (расширение в Google Chrome) и мнемоника от этого кошелька.
  • Токены AR на кошельке Arweave (расширение в Google Chrome) и ключ файл arweave.json от этого кошелька который мы сохранили ранее.

5. Переходим к установке на сервер ноды KYVE.

Арендуем Сервер (подойдет VPS — Contabo, Hetzner, Webtropia etc.) — Системные требования для сервера: 1 CPU x 4 GB RAM x 20 GB SSD x Ubuntu 20.04.

Заходим на наш сервер используя удобный для нас терминал. (Putty, MobaXterm). И начинаем вводить команды и настраивать сервер.

# обновляем репозиторий пакетов
sudo apt-get update && sudo apt-get upgrade -y
# скачиваем wget и unzip
sudo apt-get install wget unzip -y
# скачиваем исполняемые файлы пулов
mkdir $HOME/kyve; \
cd $HOME/kyve && \
wget https://github.com/KYVENetwork/evm/releases/download/v1.0.3/evm-linux.zip && \
wget https://github.com/kyve-org/zilliqa/releases/download/v0.0.0/kyve-zilliqa-linux.zip && \
wget https://github.com/kyve-org/solana/releases/download/v0.0.0/kyve-solana-linux.zip && \
wget https://github.com/kyve-org/bitcoin/releases/download/v0.0.0/kyve-bitcoin-linux.zip && \
wget https://github.com/kyve-org/stacks/releases/download/v0.0.2/stacks-linux.zip
# распаковываем архивы, удаляем ненужные файлы и наводим красоту
unzip evm-linux.zip && \
unzip kyve-zilliqa-linux.zip && \
unzip kyve-solana-linux.zip && \
unzip kyve-bitcoin-linux.zip && \
unzip stacks-linux.zip && \
rm -Rvf evm-linux.zip stacks-linux.zip kyve*.zip __MACOSX && \
chmod u+x * && \
mv evm-linux /usr/bin/kyve-evm && \
mv bitcoin-linux /usr/bin/kyve-btc && \
mv kyve-solana-linux /usr/bin/kyve-sol && \
mv kyve-zilliqa-linux /usr/bin/kyve-zil && \
mv stacks-linux /usr/bin/kyve-stx
# проверяем версии
kyve-evm --version
kyve-btc --version
kyve-sol --version
kyve-zil --version
kyve-stx --version

Теперь нам нужно загрузить файл кошелька Arweave - arweave.json, который мы сгенерировали ранее, на сервер в каталог /root/.

Обязательно переименуйте файл arweave-key-xxx.json в arweave.json.

Загружаем с помощью Mobaxterm просто перетягивая файл в директорию /root/.


Теперь нужно выбрать пул и получить его ID.

Идентификатор пула можно посмотреть в адресной строке браузера перейдя в раздел Pools и выбрал любой пул или в информации на странице пула.

На данный момент доступны для установки: Moonbeam - 0, Avalanche - 1, Bitcoin - 3, Solana - 4, Zilliqa - 5.

Пул Stacks - 2 (в данное время не доступен для выбора).

Буду показывать на примере пула Bitcoin, сейчас минимальный порог 143.67 токенов KYVE.

Для того чтобы стать активным валидатором необходимо иметь стейк (количество ваших токенов KYVE) больше данного значения. (данное значение минимальное и периодически возрастает, это связано с увеличением количества активных валидаторов с наибольшим стейком. (в других пулах значение больше).

В следующем пункте вам необходимо создать несколько переменных:

  • переменная с айди пула.
  • переменная с названием бинарника под выбранный пул.
  • мнемоник фраза от кошелька Keplr.
  • количество токенов, которое хотите использовать в качестве селф-стейка.
# возможные комбинации пулов и бинарников на данный момент
POOL=0
BIN="kyve-evm"

POOL=1
BIN="kyve-evm"

POOL=3
BIN="kyve-btc"

POOL=4
BIN="kyve-sol"

POOL=5
BIN="kyve-zil"

Я выбрал Bitcoin и мой пул - 3. Следуя вышеприведённым комбинациям, нужный мне бинарник - kyve-btc.

# мой пример, подставляйте свои значения переменных
POOL=3
BIN="kyve-btc"
MNEMONIC="тут пишите вашу мнемоник фразу из Keplr"
STAKE=1500
Мнемоник фразу можно вспомнить в настройках вашего кошелька Keplr.

Количество токенов указываете больше значения Minimum staking amount. Главное чтоб эти токены были у вас на кошельке. (Где достать дополнительно токены на минимальный стейк проявите смекалку. Попросите в комьюнити или получите через кран KYVE, запрашивая токены несколько дней).

В следующей команде ничего не трогаем, мы задали все переменные. Просто выполняем одну большую команду.

# создаём файл сервиса для запуска ноды
sudo tee <<EOF >/dev/null /etc/systemd/system/kyved.service
[Unit]
Description=Kyve Node
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=$(which $BIN) \\
--poolId $POOL \\
--mnemonic "$MNEMONIC" \\
--initialStake $STAKE \\
--keyfile /root/arweave.json \\
--network korellia \\
--verbose
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
# запускаем ноду
sudo systemctl daemon-reload && \
sudo systemctl enable kyved && \
sudo systemctl restart kyved
# проверяем логи
sudo journalctl -u kyved -f -o cat

Нода работает и мы стали валидатором. (Selected as Validator).

Теперь, если вернуться на страницу пула, можно будет увидеть свой стейк.

Мы можем сами дополнительно пополнять наш стейк.
Для этого жмём Manage stake, вводим количество и подписываем транзакцию.

Теперь главное не вылететь из сета активных валидаторов. Для этого необходимо периодически пополнять наш стейк.

Можно настроить моникер (имя ноды) и процент комиссии у валидатора (в данное время комиссия в тестовом режиме и не активна). Для этого переходим во вкладку Validators и нажимаем Manage metadata.

Выставляем свои значения.

Если появилось желание сменить пул, делаем Unstake ваших KYVE токенов через Manage stake и заново проводим установку сервера выбирая необходимые нам пул айди, бинарник и стэйк. (вывод токенов занимает 24 часа.)

6. Полезные команды для работы ноды

# проверка логов
sudo journalctl -u kyved -f -o cat
# пезапуск сервиса
sudo systemctl restart kyved
# остановка сервиса
sudo systemctl stop kyved

7. Удаление ноды с сервера

Вариант 1: Ноду можно удалить в панели хостинга сервера. Выполнив полное форматирование сервера.

Вариант 2: Можно удалить файлы ноды на самом сервере. (команды желательно использовать если на сервере не установлено других нод).

# останавливаем сервис
sudo systemctl stop kyved && \
sudo systemctl disable kyved
# удаляем остаточные файлы
rm -Rvf /usr/bin/kyve* $HOME/kyve
# удаляем файл сервиса и перезагружаем демона
sudo rm -v /etc/systemd/system/kyved.service && \
sudo systemctl daemon-reload