KYVE
KYVE - это протокол, который позволяет провайдерам хранить, обеспечивать безопасность и надёжность потоков данных.Децентрализованная архивная структура KYVE стандартизирует, валидирует и хранит потоки данных
KYVE уже поддерживает такие сети, как Avalanche, Cosmos, Polkadot, SmartWeave, Solana, Zilliqa, Evmos, EvmosTendermint, Near, Aurora.
Пулы финансируются токенами KYVE и любой может финансировать эти пулы, делегируя токены KYVE.
Благодаря недавнему переходу от SmartWeave к смарт-контрактам Moonbeam, KYVE теперь совместим с EVM.
Проект интересен тем, что в него вложились некоторые довольно известные фонды: Coinbase Ventures, Permanent Ventures, Hypersphere Ventures, Volt Capital, Mechanism Capital, Mina Foundation, Moonbeam Foundation
Для работы с проектом вам понадобится:
---Браузер с поддержкой Metamask ---Metamask (лучше зарегистрировать новый, поскольку нода просит ввести приватный ключ) ---верифицированный Discord ---Twitter ( Если планируете поднимать Валидатора -нужно либо иметь больше 9 аккаунтов либо больше 10 людей, которые делегируют вам монеты на сумму более 9200 KYVE)
Вы можете поставить для этого проекта ноду, для этого потребуется довольно слабый дешевый Виртуальный Сервер (VPS)
1.Заказываем сервер:
Требования к серверу (VPS)
1 cpu,
2 gb Ram,
40GB SSD,
Linux Ubuntu 20.04
Пошаговая инструкция как арендовать VPS на Vultr
2. Переключаем сеть в Metamask
Открываем метамаск, добавляем новую сеть: Moonbase Alpha.
Network Name: Moonbase Alpha
RPC URL: https://rpc.testnet.moonbeam.network
ChainID: 1287
Symbol: DEV
Block Explorer: https://moonbase-blockscout.testnet.moonbeam.network
Как переключать сеть можно прочесть тут:
3. Добавляем токен KYVE по контракту:
добавляем токен KYVE по контракту. 0x3cf97096ccdb7c3a1d741973e351cb97a2ede2c1
Как добавить токен можно прочесть тут:
В результате у вас должна быть в Metamask добавлена и включена сеть Moonbase Alpha и отображаться 2 токена: DEV и KYVE.
4. Запрашиваем токены KYVE в кране
Нажимаем Connect wallet. выбираем Metamask, в самом Metamask принимаем все, что предложено во всплывающих диалоговых окнах
Нажимаем Fauсet , нажимаем на Share on Twitter, твиттер сразу предложит отправить твит. Проверьте, чтоб в тексте Твита содержался адрес вашего Metamask. Нажмите Tweet.
После отправки твита, копируем ссылку на свой пост и вставляем её в соответствующее поле на сайте. Нажимаем Claim your tokens
В правом нижнем углу экрана выскочит оповещение:
И, примерно через 10-30 минут в вашем кошельке появятся 0.01 DEV и 1000 KYVE.
5. Запрашиваем дополнительные токены DEV в кране
заходим дискорд мунбима и во вкладке #moonbase-faucet запросить токены на кошелёк командой: !faucet send 0x0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
где 0x0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - адрес вашего Metamask В течение примерно 20 минут бот ответит вам и отправит 5 DEV в Metamask
6. Сохраняем ваш приватный ключ от Metamask
Заходим в метамаск нажимаем “Опции счета” -> Реквизиты счета -> Экспортировать закрытый ключ
После ввода пароля система покажет ваш закрытый приватный ключ. Сохраните его, он понадобится для дальнейших шагов.
Как достать закрытый приватній ключ можно прочесть тут
7. Подключаемся к серверу через PuTTY(windows).
Если у вас macOS/Linux - то через терминал. Для macOS можно использовать еще, например Termius
Устанавливаем. Запускаем их меню программ Windows программу Putty:
После запуска видим вот такое окно
В верхнем поле вводим IP-адрес своего сервера и нажимаем Open, после этого появляется окно терминала как на картинке ниже.
сначала вводим логин root, нажимаем Enter.
копируем пароль от вашего сервера в буфер обмена и вставляем в строку password. Для этого нужно кликнуть в поле правой кнопкой мыши (сам пароль не отображается!!!) и нажать Enter. Если все шаги до этого сделаны правильно, вы увидите примерно такой экран.
это означает, что терминал запущен и можно вводить команды по установке ПО KYVE
Нужно скопировать следующие команды в терминал Команды не нужно вводить вручную. Можно копировать в буфер обмена (Ctrl+C), и вставить правой кнопкой мыши в терминал и нажать Enter.
Создаем переменные. Сейчас мы будем использовать приватный ключ вашего Metamask Заменям ваш_приватный_ключ на ваш приватный ключ, копируем команды и вставляем в терминал
key=ваш_приватный_ключ stakeamount=10 export stakeamount=$stakeamount >> $HOME/.bash_profile export key=$key>> $HOME/.bash_profile source ~/.bash_profile
Запускаем скрипт для установки необходимого на сервер:
curl -s https://raw.githubusercontent.com/mariofandom/KYVEL/main/KYVE.sh > KYVE.sh && chmod +x KYVE.sh && ./KYVE.sh
Если выполнение команды произошло успешно и система не выдала ошибок, в течение 20 минут с вашего кошелька Metamask будет списано 20 токенов KYVE ( на балансе должно остаться около 980 токенов) и распределит по 10 токенов в пулы Avalanche, Moonriver.
Каждый из пулов запускается соответствующим docker-контейнером, эта информация , может пригодится нам в случае неполадок.
Поздравляю! установка завершена!
Оставшиеся монеты вы можете самостоятельно отправить в любой из 9 доступных пулов. Для этого надо сначала сменить значение переменной stakeamount. Если вы хотите изменить количество токенов вместо 10 - введите ваше число токенов и запустите команды.
stakeamount=10
export stakeamount=$stakeamount >> $HOME/.bash_profile
source ~/.bash_profile
После этого запустите докер контейнер одного из пулов, ниже
Avalanche Вводим команды (можно копировать весь абзац целиком):
docker stop kyve-avalanche-node docker pull kyve/evm:latest && \ docker stop kyve-avalanche-node 2>/dev/null; \ docker container rm kyve-avalanche-node 2>/dev/null; \ docker run -d -it --restart=always \ --name kyve-avalanche-node kyve/evm:latest \ --pool 0x464200b29738367366FDb4c45f3b8fb582AE0Bf8 \ --private-key $key \ --stake $stakeamount \
лог контейнера Avalanche $ docker logs kyve-avalanche-node --follow --tail=100
ждем минут 20. Если баланс уменьшился, логи не содержат надписи “error” - значит этот контейнер работает правильно.
Вот команды для остальных контейнеров:
Команда для просмотра логов контейнера Moonriver
docker logs kyve-moonriver-node --follow --tail=100
команда перезапуска контейнера Moonriver
$docker stop kyve-moonriver-node docker pull kyve/evm:latest && \ docker stop kyve-moonriver-node 2>/dev/null; \ docker container rm kyve-moonriver-node 2>/dev/null; \ docker run -d -it --restart=always \ --name kyve-moonriver-node kyve/evm:latest \ --pool 0x610D55fA573Bce4D2d36e8ADAAee517B785a69dF \ --private-key $key \ --stake $stakeamount \
Команда для просмотра логов контейнера Cosmos
docker logs kyve-cosmos-node --follow --tail=100
команда перезапуска контейнера Cosmos
docker stop kyve-cosmos-node docker pull kyve/cosmos:latest && \ docker stop kyve-cosmos-node 2>/dev/null; \ docker container rm kyve-cosmos-node 2>/dev/null; \ docker run -d -it --restart=always \ --name kyve-cosmos-node kyve/cosmos:latest \ --pool 0x7Bb18C81BBA6B8dE8C17B97d78B65327024F681f \ --private-key $key \ --stake $stakeamount \
Команда для просмотра логов контейнера Celo
docker logs kyve-celo-node --follow --tail=100
команда перезапуска контейнера Celo
docker pull kyve/celo:latest && \ docker stop kyve-celo-node 2>/dev/null; \ docker container rm kyve-celo-node 2>/dev/null; \ docker run -d -it --restart=always \ --name kyve-celo-node kyve/celo:latest \ --pool 0x1588fd93715Aa08d67c32C6dF96fC730B15E1E1A \ --private-key $key \ --stake $stakeamount \
Команда для просмотра логов контейнера Solana
docker logs kyve-solana-node --follow --tail=100
команда перезапуска контейнера Solana
docker pull kyve/solana-snapshots:latest && \ docker stop kyve-solana-node 2>/dev/null; \ docker container rm kyve-solana-node 2>/dev/null; \ docker run -d -it --restart=always \ --name kyve-solana-node kyve/solana-snapshots:latest \ --pool 0x3124375cA4de5FE5afD672EF2775c6bdcA1Cfdcc \ --private-key $key \ --stake $stakeamount \
Команда для просмотра логов контейнера Evmos
docker logs kyve-evmos_evm-node --follow --tail=100
команда перезапуска контейнера Evmos
docker pull kyve/evm:latest && \ docker stop kyve-evmos_evm-node 2>/dev/null; \ docker container rm kyve-evmos_evm-node 2>/dev/null; \ docker run -d -it --restart=always \ --name kyve-evmos_evm-node kyve/evm:latest \ --pool 0x24E7b48c3a6E40ea0e50764E617906c9B7cf9F21 \ --private-key $key \ --stake $stakeamount \
Команда для просмотра логов контейнера Evmos Tendermint
docker logs kyve-evmos_tendermint-node --follow --tail=100
команда перезапуска контейнера Evmos Tendermint
docker pull kyve/cosmos:latest && \ docker stop kyve-evmos_tendermint-node 2>/dev/null; \ docker container rm kyve-evmos_tendermint-node 2>/dev/null; \ docker run -d -it --restart=always \ --name kyve-evmos_tendermint-node kyve/cosmos:latest \ --pool 0xAa3337d1f8F72D544f3843B2089d2DA02BBcbD28 \ --private-key $key \ --stake $stakeamount \
Команда для просмотра логов контейнера Aurora
docker logs kyve-aurora-node --follow --tail=100
команда перезапуска контейнера Aurora
docker pull kyve/evm-snapshots:latest && \ docker stop kyve-aurora-node 2>/dev/null; \ docker container rm kyve-aurora-node 2>/dev/null; \ docker run -d -it --restart=always \ --name kyve-aurora-node kyve/evm-snapshots:latest \ --pool 0x5C3ea1634E97F44b592524616F4b158D569DF920 \ --private-key $key \ --stake $stakeamount \
Команда для просмотра логов контейнера NEAR
docker logs kyve-near-node --follow --tail=100
команда перезапуска контейнера NEAR
docker pull kyve/near:latest && \ docker stop kyve-near-node 2>/dev/null; \ docker container rm kyve-near-node 2>/dev/null; \ docker run -d -it --restart=always \ --name kyve-near-node kyve/near:latest \ --pool 0xFAb226300F8B481dF35445c22d73fF5cb9C409eD \ --private-key $key \ --stake $stakeamount \
После того, как мы увидим, что контейнеры, которые мы выбрали - завелись - Переходим по ссылке:https://app.kyve.network/подключаем к сайту ваш Metamask, с установленной сетью Moonbase Alpha видим вот, на котором ссылки в пулы, которым мы сдавали в стейкинг монеты с нашей ноды
Через некоторое время после запуска ноды вам будут начисляться награды в тестовых токена KYVE. Их можно снимать и делать ределигрование.
Чтобы снять, необходимо зайти в конкретный пул, например в Cosmos и нажать Claim RewardsВсплывает окно выбора суммы, нажимаем MAX и затем Claim Rewards. Подтверждаем транзакцию в Metamask. Ожидаем завершение операции. Если все ок, то в течение пары минут на баланс упадут токены KYVE.
Если выполнение команд не прошло успешно и сервер вывел надписи error. Необходимо проанализировать логи. Этот этап называется testnet и вполне допустимо, что ПО, которое мы устанавливаем может работать нестабильно, заводиться не с первого раза и самопроизвольно выключаться. Сначала смотрим баланс на KYVE кошельке Метамаск.
Если с момента запуска первой команды прошло более 20 минут и баланс не изменился - значит контейнеры вообще не запустились и необходимо перенастроить те контейнеры, которые выдают ошибки заново. Для этого нужно одним блоком запустить команду запуска докер-контейнера по соответствующему контейнеру. и посмотреть логи заново.
Также система может не пропускать запуск контейнера если размер стейка ниже, чем минимальный в системе для данного пула. На момент написания гайда минимальный размер стейка 9201 KYVE
если вы хотите изменить количество токенов вместо 100 - введите ваше число токенов
stakeamount=100 export stakeamount=$stakeamount >> $HOME/.bash_profile source ~/.bash_profile
смена ключа если вы хотите изменить приватный ключ, вместо ваш_приватный_ключ - введите новое значение
key=ваш_приватный_ключ export key=$key>> $HOME/.bash_profile source ~/.bash_profile
введите команду остановки docker-контейнеров:
docker stop kyve-avalanche-node docker stop kyve-moonriver-node docker stop kyve-cosmos-node docker stop kyve-celo-node docker stop kyve-solana-node docker stop kyve-evmos_evm-node docker stop kyve-evmos_tendermint-node
docker restart kyve-avalanche-node docker restart kyve-moonriver-node docker restart kyve-cosmos-node docker restart kyve-celo-node docker restart kyve-solana-node docker restart kyve-evmos_evm-node docker restart kyve-evmos_tendermint-node