Привет, сообщество Lisk,

На прошлой неделе мы в основном сосредоточились на тестировании Lisk Core 1.0.0-rc.2, и, как вы уже знаете, последний этап проверки качества для этого выпуска прошел успешно. Мы объявили высоту миграции и пометили второй релиз-кандидат как Pre-release на GitHub. И, наконец, сегодня произошла миграция с Lisk Core 1.0.0-rc.1 на 1.0.0-rc.2 в сети Testnet. Все прошло гладко и успешно! Мы очень гордимся этим достижением, поскольку оно приближает нас к долгожданному выпуску Lisk Core 1.0.0 для Mainnet. Остальная часть этого обновления будет посвящена нашему прогрессу за последнюю неделю.

Последние проблемы, закрытые в Lisk Core 1.0.0-rc.2

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

Проблема # 2280: во время последнего раунда контроля качества мы обнаружили, что один из наших тестов дал сбой. Мы уже исправили это в 1.1.0, поэтому мы просто перенесли решение.

Проблема # 2246: это был один из последних шагов перед фактическим выпуском в Testnet. Нам нужно было заполнить свойство blockVersions в файле exceptions с правильным диапазоном высот, поскольку была объявлена ​​высота блока миграции Testnet 1.0.0-rc.2.

Прогресс в одном из наших следующих выпусков - Lisk Core 1.2.0

Проблема # 2272: в нашем приложении мы поддерживаем несколько различных типов транзакций:

SEND - простая транзакция передачи с дополнительным сообщением (до 64 байтов).

ПОДПИСЬ - зарегистрируйте вторую парольную фразу для дополнительной безопасности учетной записи.

DELEGATE - отправив транзакцию этого типа, вы можете зарегистрировать свою учетную запись в качестве делегата.

ГОЛОСОВАНИЕ - с его помощью вы можете отдавать и снимать голоса за определенных делегатов.

MULTI. У нас есть встроенная поддержка учетных записей с несколькими подписями, что не очень часто встречается в других блокчейнах. Выполнение такой транзакции превратит вашу учетную запись в учетную запись с мультиподписью.

DAPP - позволяет зарегистрировать собственное децентрализованное приложение (dapp) в блокчейне Lisk.

IN_TRANSFER - отправить средства в приложение.

OUT_TRANSFER - вывод средств из децентрализованного приложения.

Последние два в настоящее время отключены в Lisk Core 1.0.0. Мы активно исследуем лучший и долгосрочный подход к обеспечению взаимосвязи между основной и боковой цепями. Несмотря на это, мы по-прежнему поддерживаем эти типы транзакций в нашей кодовой базе. Мы заметили, что функциональные тесты отсутствовали для полей asset транзакций OUT_TRANSFER (тип 7). Мы добавили тесты, чтобы убедиться, что ответ от API возвращает правильные данные asset.

Проблема # 2194: аналогична описанной выше, но на этот раз для транзакции IN_TRANSFER (тип 6). Свойство asset не было включено в ответ API для этого типа транзакции. Мы исправили это и добавили соответствующие тесты.

Проблема # 1788: в некоторых крайних случаях наше приложение обнаруживает критическую ошибку, требующую завершения процесса, в то время как в некоторых других случаях мы намеренно завершаем процесс (например, в конце создания моментального снимка). Когда приложению необходимо завершить работу, запускается специальное событие - очистка - чтобы гарантировать, что все ожидающие операции, такие как обработка блоков, запись в базу данных и т. Д., Завершены. Раньше мы не различали ожидаемые отключения и отключения, вызванные ошибками, и в обоих случаях возвращали 1 в качестве кода выхода. Мы исправили это поведение, чтобы возвращать правильные коды выхода - 0 для ожидаемого завершения работы и 1 для непреднамеренного завершения работы.

Проблема # 2236: мы заметили, что в некоторых наших тестах ожидания отсутствуют утверждения. Это произошло из-за неправильного использования .equals (), которое разрешается напрямую в логическое значение (true или false). Например, ожидание expect (block.reward.equals (‘0’)); оценивается как expect (true); , что непреднамеренно позволяет тесту всегда проходить. Мы исправили такие случаи во всем наборе тестов, чтобы гарантировать, что у ожиданий всегда есть утверждения - expect (block.reward.equals (‘0’). To.be.true;).

Проблема # 2198: во многих областях нашей кодовой базы мы использовали имя функции apply, которое переопределяет заданное в JavaScript свойство Function.prototype.apply (). Это противоречит передовой практике; это также сложно понять и может привести к другим проблемам, поэтому мы решили переименовать все вхождения apply в applyConfirmed вместе с переименованием undo в undoConfirmed (для единообразия).

Дальнейшие действия

Мы уже начали этап QA для Lisk Core 1.1.0. * Хотя выпуск может показаться незначительным, он содержит значительные изменения, поэтому мы должны принять все необходимые меры, чтобы все работало должным образом.

Что касается версии Lisk Core 1.2.0, мы решили продлить ее этап разработки и включить несколько дополнительных проблем. Мы очень хорошо продвигаемся в этом выпуске. В настоящее время существует 7 открытых запросов на вытягивание, которые либо готовы, либо ожидают рассмотрения. Как всегда, вы можете отслеживать прогресс этого релиза в соответствующем проекте Версия 1.2.0 на GitHub.

И последнее, но не менее важное: у нас осталась последняя проблема с Lisk Core 1.0.0 - # 2245. Он будет закрыт после того, как мы определим и объявим ожидаемую высоту перехода на Mainnet. Если сеть Testnet останется стабильной в течение выходных и не будет обнаружено никаких новых проблем, мы сделаем объявление о высоте миграции Mainnet на следующей неделе.

-Команда Lisk

* ИСПРАВЛЕНИЕ: мы изменили это предложение, чтобы оно было более конкретным. Ранее в этом предложении говорилось: «Мы уже начали еще один раунд QA для Lisk Core 1.1.0».