Мы рады объявить о выпуске версии 1.0.0 Lisk Elements, нашей новой универсальной библиотеки JavaScript. Lisk Elements заменяет LiskJS в качестве нашего основного ресурса для связанных с Lisk функций JavaScript. Он предназначен в первую очередь для разработчиков JavaScript, и в настоящее время мы используем его в нескольких наших собственных продуктах, включая Lisk Hub и Lisk Commander. В этом посте я объясню, что нового, как этот выпуск соотносится с предстоящими выпусками других продуктов и что будет дальше с Lisk Elements.

Полный редизайн кодовой базы

Lisk - это блокчейн-проект, и его основным продуктом всегда было программное обеспечение, работающее на узлах, составляющих сеть Lisk. Раньше нам требовался способ выполнения определенных действий, таких как отправка транзакций на стороне клиента (например, в приложениях кошелька с графическим интерфейсом пользователя), и LiskJS был создан как способ пересылки HTTP-запросов в общедоступный API узла или для перенаправления запросов, которые вместо этого могут выполняться локально. Хотя это сработало как способ быстрого копирования определенных функций для использования на клиенте, это не привело к естественной архитектуре на стороне клиента.

С помощью Lisk Elements мы воспользовались возможностью изменить архитектуру нашей библиотеки с нуля. Теперь мы разделим функциональность на отдельные области с явной зависимостью друг от друга:

  1. Константы, относящиеся к протоколу Lisk или нашим сетям Mainnet и Testnet.
  2. Криптографические функции, требуемые протоколом Lisk или иным образом рекомендованные LiskHQ.
  3. Управление мнемонической парольной фразой в соответствии со списками слов BIP39.
  4. Создатели транзакций для каждого типа транзакции в протоколе Lisk.
  5. Клиент API для связи с узлами в сети Lisk.

Дополнительные изменения включают:

  • Новый протокол для подписи сообщений с использованием парольной фразы Lisk.
  • Чистая и расширяемая структура на основе ресурсов для нашего клиента API, чтобы упростить адаптацию к изменениям в Lisk Core API.
  • Открытие гораздо большего количества служебных функций, чем раньше.
  • Переименование открытых функций и переменных, чтобы их назначение было более понятным.

Скоро выйдет Lisk Core v1.0.0

Выпуск версии 1.0.0 Lisk Core существенно изменит экосистему Lisk, поэтому все наши продукты должны быть согласованы, чтобы следующий выпуск прошел гладко. Lisk Elements - как библиотека JavaScript - используется почти во всех других наших продуктах, но не зависит от них напрямую. Поэтому мы сначала выпускаем Lisk Elements версии 1.0.0 в серии выпусков продуктов, связанных с этим обновлением.

Помните, что клиент API для Lisk Elements был разработан для работы с новым общедоступным API, доступным в Lisk Core v1.0.0. Таким образом, если вы установите Lisk Elements, вы сможете сразу использовать его в тестовой сети (которая уже поддерживает новый API), но вам придется дождаться следующего выпуска, чтобы использовать его в основной сети.

Будущее Lisk Elements

В то время как выпуск v1.0.0 был нашим основным направлением, мы уже добились значительного прогресса в последующих выпусках Lisk Elements. Мы планируем опубликовать каждый компонент Lisk Elements как отдельно устанавливаемый пакет. Например, если вы хотите использовать клиент API, но не хотите использовать рекомендованные нами мнемонические парольные фразы или связанных создателей транзакций, у вас должна быть возможность установить только клиент API. Это будет возможно в v1.1.0.

Мы также работаем над улучшением проверки и сообщений об ошибках. Уже в версии 1.1.0 мы представим функцию общего назначения для проверки объектов транзакций, но, начиная с версии 2.0.0, мы будем более строго относиться к запрету недопустимых вводов при создании транзакций. Помимо этих запланированных изменений, наше внимание в плане предложений библиотеки JavaScript сместится с основных сетевых функций на функции, связанные с SDK.

Будьте в курсе наших еженедельных обновлений для получения дополнительной информации о выпусках v1.0.0.