Что такое NibiJS?
NibiJS — это библиотека JavaScript/TypeScript, которая предоставляет клиент для взаимодействия с блокчейном Nibiru и позволяет программно торговать. Команда разработала его как основополагающую библиотеку для веб-приложения Nibiru. Это также служит дополнительной цели, позволяя членам сообщества получить ранний доступ к тестовой сети .
NibiJS позволяет пользователям…
- Создавайте кошельки с нуля, мнемоники или приватные ключи.
- Балансы запросов и состояние цепочки.
- Анализируйте события, возникающие при переходах между состояниями.
- Составление, подпись и широковещательная передача пользовательских транзакций: все кодирование protobuf и amino обрабатывается с помощью CosmJS.
- Создавайте веб-приложения в популярных средах JS, таких как Vue и React.
Монтаж
В этом руководстве предполагается, что вы начинаете с 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
.
Примечание:
- Бот 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 | Документация | Обозреватель цепей