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 *