JavaScript SDK

Пакет JavaScript SDK предназначен для разработчиков приложений, интегрируемых с платформой Waves Enterprise. С помощью JavaScript SDK пользователи разработанных приложений подписывают и отправляют все типы транзакций в блокчейн-сеть.

JavaScript SDK использует методы REST API для работы с блокчейном. В отличии от прямого взаимодействия с блокчейном через традиционный инструмент REST API приложение подписывает транзакцию локально в браузере или в среде Node.js, не обращаясь к ноде. Подписанная транзакция отправляется сразу в сеть. Такой способ работы с блокчейном более удобен и эффективен для разработки сторонних сервисов и приложений, взаимодействующих с блокчейн-сетью. Данные передаются и принимаются в формате json по HTTPS-протоколу.

JavaScript SDK работает одновременно и в браузере, и в среде Node.js. Веб-приложения используют вариант работы в браузере, бэкенд-приложения - работу в среде Node.js. Если вы хотите работать без браузера, то для использования JavaScript SDK потребуется установка LTS версии Node.js. Сам пакет JavaScript SDK и инструкцию по установке и инициализации вы найдёте на странице в GitHub. Общая схема работы JavaScript SDK представлена ниже.

Схема работы JavaScript SDK с блокчейном

Состав JavaScript SDK

В дополнение к самим исходникам JavaScript SDK включает в себя два вспомогательных компонента:

  • transactions-factory - компонент предназначен для корректной сериализации в байты всех типов транзакций для последующей подписи приватным ключом.

  • signature-generator - компонент, подписывающий транзакции и поддерживающий ГОСТ и Waves криптографию.

Авторизация в блокчейне через JavaScript SDK

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

JavaScript SDK поддерживает авторизацию в браузере и в среде Node.js. Для авторизации в браузере используется интерфейс Fetch API. Для Node.js применяется HTTP-клиент Axios.

Подписание и отправка транзакций в блокчейн

Приложение может создавать, подписывать и отправлять в блокчейн любой транзакции. Список всех транзакций вы можете посмотреть в разделе Транзакции.

  1. Создание транзакции инициируется приложением.

  2. Все поля транзакции сериализуются в байты и подписываются приватным ключом пользователя прямо в браузере или в среде Node.js.

  3. JavaScript SDK отправляет транзакцию в блокчейн, используя соответствующий HTTP POST запрос.

  4. Приложение получает ответ в виде хэша транзакции на выполненный HTTP POST запрос.

Создание seed-фразы

Приложение работает с seed-фразой в следующих вариантах:

  • Создаёт фразу в совершенно случайном порядке.

  • Создаёт зашифрованную фразу с указанным паролем.

  • Расшифровывает фразу при помощи указанного пароля.