Что такое НибиJS?
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 | bash
Пользователи Windows могут либо (1) получить последнюю стабильную версию Node.js по адресу https://nodejs.org/en/, либо (2) установить Git BASH, чтобы иметь среду, подобную *NIX.
nvm use 18 npm install -g npm yarn
Наконец, установите @nibiruchain/nibijs
из npm
.
yarn add @nibiruchain/nibijs yarn
Я рекомендую использовать NibiJS с TypeScript или JavaScript в редакторе, который поддерживает подсказки типов.
Запуск примеров с ts-node
Вы можете запустить пример кода, использованный в этом посте, используя ts-node
. Эти примеры можно найти в каталоге примеров репозитория 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.
Для тех, кто знаком с CosmJS, Tendermint34Client
также доступен через атрибут tmClient
. Документацию по Tendermint34Client
можно найти здесь.
Бессрочные свопы — открытие и закрытие позиций
В этом последнем разделе демонстрируется пример того, как подписывать и транслировать транзакции. Пользователи создают транзакции, чтобы взаимодействовать с приложением и вносить изменения в состояние (например, открывать позиции или делать ставки).
Ссылки сообщества
Если у вас есть какие-либо вопросы или пожелания, вы можете связаться с командой инженеров напрямую в Discord или GitHub.
Чтобы быть в курсе дальнейших событий или оставить отзыв, присоединяйтесь к одному из каналов нашего сообщества!
🌴 Дерево ссылок | ️Твиттер | Раздор | Документация | Цепной проводник