August 13, 2022

Добро пожаловать в Страйд!

Мультичейновый ликвидный стейкинг

Твиттер | Дискорд | Веб-сайт

Что такое Страйд?

Stride — это блокчейн («зона»), который обеспечивает ликвидность для поставленных на кон активов. Используя Stride, вы можете получать доход как от ставок, так и от DeFi в экосистеме Cosmos IBC. Прочтите переведенную мной запись в блоге «Знакомьтесь, Stride», чтобы узнать больше о том, почему мы создали Stride.

После успешного запуска нашей общедоступной тестовой сети мы рады объявить о планах Stride по запуску нашей основной сети в июле. В тестовой сети PoolParty мы поддерживаем ликвидный стекинг stATOM, но видение Stride гораздо шире: мы стремимся обеспечить ликвидный стейкинг для всех цепочек в экосистеме Cosmos. Процесс подключения новых сетей прост; любой может предложить подключить новую цепочку через голосование по управлению, которое автоматически подключит новую цепочку, если данное решение будет принято.

При запуске мы отдаем приоритет крупнейшим сетям Cosmos: мы начнем с ATOM и 1-2 других крупных сетей Cosmos. После запуска мы планируем быстро расширить охват всей экосистемы Cosmos. Цепочки и токены, которые мы планируем добавить в конце этого года:

Cosmos Hub (stATOM), Juno (stJUNO), Secret (stSCRT), Osmosis (stOSMO), Kava (stKAVA), Oasis (stROSE), Axelar (stAXL), Akash (stAKT), Evmos (stEVMOS), Injective (stINJ) , Regen (stREGEN), Sommelier (stSOMM), Band (stBAND), dYdX (stDYDX), Terra V2 (stLUNA), Stargaze (stSTARS), Kujira (stKUJI), Umee (stUMEE), E-Money (stNGM), Crypto.Org (stCRO), Comdex (stCMDX), Sifchain (stEROWAN), Crescent Network (stCRE), MediBloc (stMED), Persistence (stXPRT), Iris (stIRIS), AssetMantle (stMNTL), Sentinel (stDVPN), BitSong (stBTSG), Cheqd (stCHEQ), Chihuahua (stHUAHUA), KiChain (stXKI), Ixo (stIXO), Microtick (stTICK), Fetch.Ai (stFET), Konstellation (stDARC), Desmos (stDSM), Bitcanna (stBCNA), Lum Network (stLUM), Bostrom (stBOOT), Likecoin (stLIKE), Dig Chain (stDIG), RiZON (stATOLO), OmniFlix (stFLIX), Decentr (stDEC), Vidulum (stVDL), Altered Carbon (stACB), Shentu (stCTK), и другие.

В ближайшие месяцы и годы в экосистеме cosmos будет запущено гораздо больше токенов. Stride планирует поддерживать все токены, совместимые с IBCv3, как «st»-токены.

Stride построен с использованием Cosmos SDK и Tendermint и создан с помощью Ignite . Stride позволяет пользователям создавать ликвидный стейкинг любого IBC-совместимого токена сети приложений Cosmos SDK. Под капотом Stride использует протокол связи между блокчейнами , учетные записи Interchain и запросы Interchain .

Как работает Multichain Liquid Staking?

Начало работы в качестве разработчика

Установка Страйда

Чтобы установить последнюю версию двоичного файла узла блокчейна Stride, выполните на своем компьютере следующую команду:

git clone https://github.com/Stride-Labs/stride

Проверьте свою установку, перейдя в директорию stride, выполнив команду:

ignite chain serve

Команда serve устанавливает зависимости, строит, инициализирует и запускает ваш блокчейн в режиме разработки. Вы должны увидеть журналы, выводимые в вашу оболочку.

Если у вас возникли проблемы с установкой, свяжитесь с нашей командой в Discord .

Вы можете узнать больше о процессе установки здесь или обратиться к этим полезным ресурсам:

Разработка на Страйде

Разработчики, желающие разрабатывать на Stride, могут легко создать 3 узла Stride, 3 узла Gaia, 1 ретранслятор Hermes и 1 ретранслятор interchain-queries. Узлы Gaia моделируют зону Cosmos Hub (Gaia) в локальном узле разработки, а ретрансляторы позволяют зоне Stride взаимодействовать с этим экземпляром Gaia.

Самый быстрый способ разработки на Stride - это локальный режим разработки.

Настройка режима локальной разработки

Установите необходимые зависимости подмодуля git (gaia, hermes, interchain-queries).

git submodule update --init

Сборка исполняемых файлов, инициализация состояния и запуск сети с помощью

make init-local build=sghi

Опционально. Вы можете передать аргументы сборки, чтобы указать, какой двоичный файл нужно пересобрать

  1. sЭто приведет к повторной сборке бинарного файла Stride (по умолчанию)
  2. gЭто позволит заново построить бинарную систему Gaia
  3. hЭто приведет к повторной сборке бинарного файла Hermes
  4. iЭто приведет к повторной сборке двоичного файла ICQ

Пример: make init-local build=sg

  • Перестройте бинарные узлы Stride и Gaia
  • Запустите 1 узел Stride и 1 узел Gaia в фоновом режиме
  • Запустите ретрансляторы Hermes и ICQ

При желании вы можете перейти к восстановлению состояния из резервной копии cache=true вместо его повторной инициализации.

Чтобы остановить цепочку, выполните:

make stop

Внесение изменений в этот репозиторий

Коммиты для каркасного кода

Самый простой способ разработки приложений Cosmos-sdk — это использование кода ignite cli для формирования кода. Ignite (разработанный основной космической командой Tendermint) позволяет создавать новые цепочки, запускать ретрансляторы, создавать прото-файлы, связанные с космосом, добавлять сообщения/запросы, добавлять новые структуры данных и многое другое. Недостаток создания тысяч строк кода с помощью ignite заключается в том, что трудно различить, какие изменения были сделаны с помощью ignite cli, а какие — вручную разработчиками. Чтобы упростить просмотр кода, написанного с использованием ignite, и облегчить отслеживание наших шагов, если что-то сломается позже, добавьте фиксацию для каждой команды ignite непосредственно после ее выполнения.

Например, добавление нового типа сообщения и обновление логики этого сообщения потребует двух коммитов.

// add the new data type
>>> ignite scaffold list loan amount fee collateral deadline state borrower lender
>>> git add . && git commit -m 'ignite scaffold list loan amount fee collateral deadline state borrower lender'
// make some updates to the keeper method in your code editor
>>> git add . && git commit -m 'update loan list keeper method'

Пример PR с использованием этой стратегии можно посмотреть здесь . Обратите внимание, что при просмотре коммитов легко отличить изменения, сделанные ignite, от изменений, сделанных вручную. Например, в коммите fd3e254bc0 легко заметить, что несколько строк были изменены вручную , несмотря на то, что было создано около 300 тыс. LOC.

Формат анализа кода

При открытии запроса на доработку (PR) в описании автоматически создаются поля Резюме и План тестирования. В резюме добавьте краткое описание того, что влечет за собой изменение. Для запросов на поставку, в которых используется код ignite, включите команды запуска ignite scaffold.

Резюме

Добавьте сюда краткое описание запроса на исправление (например, Этот запрос на исправление добавляет функцию XYZ в модуль x/ABC и соответствующие модульные тесты).

План тестирования

Добавьте сюда план тестирования (например, протестируйте функцию XYZ, выполнив модульные тесты D и E с помощью sh scripts/tests/unit-test-D.sh и sh scripts/tests/unit-test-E.sh)

Настройка

Ваш блокчейн в процессе разработки можно настроить с помощью config.yml. Чтобы узнать больше, см. документы Starport .

Релиз

Чтобы выпустить новую версию блокчейна, создайте и запустите новый тег с префиксом v. После этого будет создан новый проект релиза с настроенными целями.

git tag v0.1
git push origin v0.1

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

Техническая архитектура Stride

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

С обратной стороны, Stride без разрешения размещает эти токены на цепочке хостов и компенсирует вознаграждения пользователей. Stride позволяет пользователям использовать ваши стейковые активы для повышения доходности. Продолжайте зарабатывать доходность на ставках и получайте дополнительную доходность путем кредитования, LPing и т.д. В Cosmos DeFi они могут установить свой собственный уровень риска.

Пользователи всегда могут выкупить у Stride. Когда они выбирают "redeeem" на сайте Stride, Stride инициирует отвязку облигаций на хост-зоне. По истечении периода отвязки пользователи получат нативные токены в свои кошельки.


Тестовая сеть Stride: PoolParty!

Здесь содержатся инструкции о том, как подключиться к тестовой сети Stride, PoolParty!

Мы постарались сделать инструкции как можно более простыми, но если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь обращаться к нам по электронной почте , в Твиттере или в нашем Discord .

Требования для этой тестовой сети довольно минимальны. У вас должна быть машина с 4 ЦП и 32 ГБ ОЗУ. Мы тестировали эту сборку только на компьютерах с OSX и Linux, но надеемся, что скоро она будет поддерживаться и для Windows.

Установка

Выполните следующую команду, чтобы установить PoolParty.

bash -c "$(curl -sSL install.poolparty.stridelabs.co)"

Выполнение команд Stride

Пожалуйста, добавьте репозиторий с бинарными файлами Stride (по умолчанию $HOME/go/bin) в файл .bashrc или .zshrc. После этого вы сможете запускать strided автоматически.

Например, выполните strided q bank balances stride159atdlc3ksl50g0659w5tq42wwer334ajl7xnq чтобы увидеть баланс адреса Stride.

Другой, практический пример, если вы запустите

strided keys list

вы сможете увидеть свои локальные ключи. Если вы хотите создать новую учетную запись, пожалуйста, выполните следующие действия

strided keys add <YOUR_WALLET_NAME>

Если у вас уже есть кошелек и вы хотите его восстановить

strided keys add <YOUR_WALLET_NAME> --recover

Если вы запустите strided q help вы увидите список возможных вариантов. Некоторые полезные функции:

strided tx stakeibc liquid-stake
strided tx stakeibc redeem-stake

Создать валидатора

Если вы хотите преобразовать ваш узел в валидатор, пожалуйста, выполните команду

    strided tx staking create-validator \
    --chain-id "<CHAIN_ID>" \
    --commission-rate 0.05 \
    --commission-max-rate 0.2 \
    --commission-max-change-rate 0.1 \
    --min-self-delegation "1000000" \
    --amount 1000000ustrd \
    --pubkey $(strided tendermint show-validator) \
    --moniker "<YOUR_MONIKER>" \
    --gas="auto" \
    --from <YOUR_WALLET_NAME> 

Вы можете указать собственные значения комиссии или добавить описание вашего валидатора, например --identity, --website и т.д.

Блок Эксплорер

На данный момент мы размещаем блок эксплорер Ping.Pub здесь . Мы работаем над интеграцией более надежного блок эксплорера, следите за обновлениями.

Часто задаваемые вопросы

Где я могу получить токены?

Чтобы получить токены, отправьте сообщение $faucet {{ADDRESS}} в Discord. Например:
$faucet stride159atdlc3ksl50g0659w5tq42wwer334ajl7xnq

Пожалуйста, не спамьте этим.

Есть ли какие-либо переменные, о которых я должен знать?

Если ваш локальный strided запрашивает у вас что-то из этого, пожалуйста, укажите:

CHAIN_ID = STRIDE-1
KEYRING_BACKEND = test
HOST_ZONE = GAIA 
STRIDE_CURRENCY = ustrd (1,000,000 ustrd = 1 STRD)
GAIA_CURRENCY = uatom (1,000,000 uatom = 1 ATOM)
GAIA_CURRENCY_ON_STRIDE = ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2

Как я могу перезапустить свой узел?

Когда вы впервые устанавливаете свою тестовую сеть, вы должны были увидеть две sh команды, напечатанные в конце. Они содержат инструкции о том, как подключиться к вашей тестовой сети.

Если вы использовали предустановки, вы сможете запустить следующую команду, чтобы перезапустить свой узел.

strided start
или же
sh $HOME/.stride/poolparty/launch_poolparty.sh

Зачем моему узлу псевдоним?

Псевдоним вашего узла — это то, как другие могут видеть его в эксплорере блоков. Например, если вы станете валидатором, вы будете отображаться как псевдоним вашего узла.

У меня возникла проблема с правами доступа при сборке, что мне делать?

Если вы столкнулись с ошибкой разрешения такого типа

mkdir: {{path}}: Permission Denied

Тогда, вы должны запустить chmod +rw {{path}}, чтобы исправить разрешения.

У меня вылетает ошибка сборки, что это может быть?

Пожалуйста, отправьте нам свой файл журнала, расположенный по адресу $HOME/.stride/install.log, и мы сможем помочь вам это исправить.

Нужно проверить одну вещь: для Stride требуется goверсия 1.18. Пожалуйста, установите это здесь .

Как разблокировать заключенного в тюрьму валидатора?

Если ваш валидатор не подпишет блоки, то его посадят в тюрьму. Заключенный в тюрьму валидатор оказывается в ловушке на 10 минут, и только по истечении этого периода вы можете использовать команду для разблокирования.

strided tx slashing unjail --chain-id <CHAIN_ID> --from YOUR_WALLET_NAME

Вклад в развитие

Запросы на исправления приветствуются. Для серьезных изменений, пожалуйста, сначала откройте вопрос, чтобы обсудить, что вы хотите изменить. Мы также приветствуем все обсуждения в ветках #engineering или #questions в нашем Discord .