Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the redux-framework domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/mmsteam/public_html/wp-includes/functions.php on line 6121

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the betterdocs domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/mmsteam/public_html/wp-includes/functions.php on line 6121

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the cyr2lat domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/mmsteam/public_html/wp-includes/functions.php on line 6121

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the yandex-metrica domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/mmsteam/public_html/wp-includes/functions.php on line 6121

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-blocks domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/mmsteam/public_html/wp-includes/functions.php on line 6121

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the teknolab domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/mmsteam/public_html/wp-includes/functions.php on line 6121
Обновления Nibiru #2 | Практическое руководство по выполнению бессрочных Swaps с использованием NibiJS – MMS
MMS

Что такое NibiJS?

NibiJS — это библиотека JavaScript/TypeScript, которая предоставляет клиент для взаимодействия с блокчейном Nibiru и позволяет программно торговать. Команда разработала его как основополагающую библиотеку для веб-приложения Nibiru. Это также служит дополнительной цели, позволяя членам сообщества получить ранний доступ к тестовой сети .

NibiJS позволяет пользователям…

  1. Создавайте кошельки с нуля, мнемоники или приватные ключи.
  2. Балансы запросов и состояние цепочки.
  3. Анализируйте события, возникающие при переходах между состояниями.
  4. Составление, подпись и широковещательная передача пользовательских транзакций: все кодирование protobuf и amino обрабатывается с помощью CosmJS.
  5. Создавайте веб-приложения в популярных средах JS, таких как Vue и React.
Открытие позиции с Keplr и NibiJS с использованием ранней версии веб-приложения

Монтаж

В этом руководстве предполагается, что вы начинаете с Unix-подобной системы, такой как Ubuntu, macOS или подсистема Windows для Linux (WSL).

Начните с установки узла с помощью Node Version Manager ( nvm) . Вы можете установить nvmс помощью следующей команды cURL.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | бить

Пользователи Windows могут либо (1) получить последнюю стабильную версию Node.js по адресу https://nodejs.org/en/ , либо (2) установить Git BASH , чтобы иметь среду, подобную *NIX.

nvm использовать 18 
npm install -g npm yarn

Наконец, установите @nibiruchain/nibijsиз npm.

пряжа добавить пряжу @nibiruchain/
 nibijs

Я рекомендую использовать NibiJS с TypeScript или JavaScript в редакторе, который поддерживает подсказки типов.

Запуск примеров с ts-node

Вы можете запустить пример кода, использованный в этом посте, с помощью ts-node. Эти примеры можно найти в каталоге «examples» репозитория NibiruChain/ts-sdk .

Схема кодовой базы NibiJS

Создание кошелька и использование крана

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

Транзакции в самом абстрактном смысле можно рассматривать как массив сообщений с цифровыми подписями, которые транслируются в сеть через REST, Tendermint RPC или gRPC.

Хотя в этом руководстве мы используем жестко запрограммированную мнемонику, вам следует избегать этого с реальными активами. Лучше хранить мнемонику или ключ как переменные в среде вашей ОС и получать к ним доступ process.envдля дополнительной безопасности.

Здесь мы используем удобную функцию для запроса средств из крана. Сборщик позволяет любому переводить средства ( NIBI и NUSD ) на адрес Nibiru. NIBI необходим для оплаты комиссий за газ и трансляционных транзакций, а NUSD необходим для торговли бессрочными фьючерсами.

Наименьшая единица NIBI называется unibi, сокращение от micro-NIBI или µ-NIBI. Соответствующий токен для NUSD — unusd.

Команда оболочки, соответствующая функции useFaucet.

Примечание:

  • Бот Discord в канале «💦︲faucet» также можно использовать для запроса токенов.
  • Существует ограничение на то, сколько денег может быть предоставлено сборщиком. Это делается для предотвращения злонамеренных действий людей в тестовой сети.

Запрос данных из цепочки

Экземпляр Chainуказывает информацию, необходимую для подключения к конечным точкам узла gRPC, Tendermint RPC и REST/LCD. Подробнее об этих конечных точках можно прочитать здесь .

Текущая тестовая сеть имеет предварительно настроенный Chainэкземпляр, который вы можете импортировать.

Для запроса цепочки не требуется подписывающая сторона. Клиент запроса может быть создан с использованием функции Chainи initQueryCmd.

Чтобы запросить параметры и информацию о ценах для всех пулов на Nibi-Perps, используйте query.vpool.allPools(). Его вывод выглядит примерно так.

Как правило, запросы организованы на основе имени модуля , например, «perp», «vpool» или «bank». Подробную спецификацию транзакций и запросов каждого модуля можно найти в Справочнике по модулям документации Nibiru Docs .

Для тех, кто знаком с CosmJS, Tendermint34Clientтакже доступен через tmClientатрибут. Документацию для Tendermint34Clientможно найти здесь .

Бессрочные Swaps — открытие и закрытие позиций

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

Ссылки сообщества

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

Чтобы быть в курсе дальнейших событий или оставить отзыв, присоединяйтесь к одному из каналов нашего сообщества!
🌴 Дерево ссылок | ️Twitter| Discord | Документация | Обозреватель цепей

 

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *