Ежемесячный отчет Neo Global - Разработка

Март 2022

Ежемесячный отчет Neo Global - Разработка

Основные моменты

В марте ядро Neo перешло к новой ключевой версии, Neo 3.2. Обновления включают в себя как исправление ошибок, так и улучшение компилятора C# и некоторые другие новые функции. Разработчики контрактов найдут новое дополнение к нативному контракту CryptoLib; реализация хэш-функции Murmur, быстрый и экономичный вариант при хешировании без криптографических гарантий.

Одно из наиболее значительных обновление — простое изменение настроек; при изменении максимального лимита транзакций на блок, лимит TPS N3 TestNet существенно увеличится, гарантируя своевременную обработку транзакций по мере развертывания новых децентрализованных приложений в сети.

Что касается инструментов, NGD Enterprise произвела фурор с выпуском новой предварительной версии Debugger. Предварительный просмотр включает в себя несколько улучшений в отладке в Neo Blockchain Toolkit, с акцентом на изменения в просмотре хранилища. Разработчики, использующие совместимые компиляторы (только C# на данный момент), смогут указывать в коде информацию о типе, которая будет выдаваться в стандартных файлах об отладке во время компиляции.

Отладчик Neo использует эти данные для предоставления улучшенного обзора типов значений хранилища контрактов и среды выполнения, что упрощает визуализацию данных контракта при отладке выполнения.

Neo SPCC также выдвинул несколько улучшений в работе разработчика, как для реализации узлов Go/SDK, так и для клиента NeoFS. В первом разработчики найдут новый генератор привязок контрактов для быстрого взаимодействия с пользовательскими контрактами через Go, в то время как в последнем добавили различные улучшения UX и исправили ошибок.

Несколько экосистемных проектов прошли проверку безопасности Red4Sec в этом месяце, включая контракты на NeoFS, Flamingo и новый проект GrantShares DAO, поддерживаемый AxLabs.

Полный мартовский ежемесячный отчет о глобальном развитии Neo можно найти ниже.

РАЗРАБОТКА ПРОТОКОЛА

РАЗРАБОТКА ПРОТОКОЛА

Ядро Neo

Компилятор Neo C# обновлен для поддержки новейшего синтаксиса C# 10

Основной компилятор для смарт-контрактов C# обновлен для поддержки нового синтаксиса пространства имен, представленного вместе с .NET 6.0. Среди других изменений в компиляторе улучшенная опция именования контрактов (теперь можно называть по основе имени), а также была исправлена ошибка в прокладывании путей, из-за которой происходило исключение во время выполнения программы.


Предел пропускной способности N3 TestNet рассчитан на десятикратное увеличение

Изменение параметра MaxTransactionsPerBlock для TestNet повысит лимит с 512 до 5000 транзакций на блок в следующем обновлении. Это повышает пропускную способность сети с 34~ до более чем 333 транзакций в секунду, позволяя узлам полностью очищать полный мемпул из 50 000 транзакций всего за 10 блоков. Также было внесено соответствующее изменение в конфигурацию DBFTPlugin для учета нового максимального системного сбора и размера блоков.


Хэш-функция Murmur32 добавлена в нативный контракт CryptoLib

Поддержка некрипографической хэш-функции Murmur была добавлена в нативную крипто библиотеку контрактов, тем самым предоставляя доступ к новому инструменту разработчикам, которые нуждаются в эффективном хешировании во время работы с блокчейном. Функция более эффективна GAS, чем SHA256, что делает ее хорошим выбором для поиска на основе хэша, где криптографическая безопасность (устойчивость к отменам) не требуется.


Исправлены ошибки в основных модулях плагинов Neo

Ряд проблем был обнаружен и решен после исследований, проведенных в цепочке N3 TestNet. Проблемы с нехваткой памяти, возникающие во время обработки JSON, предотвращаются с помощью новых ограничений на размер финального стека в подключаемых модулях RpcServer и ApplicationLogs, а также ограничений GAS для модуля TokenTracker. Эти ограничения могут быть скорректированы в соответствующих конфигурационных файлах. Команда также устранила локальную утечку информации в сервисе Oracle.

ИНФРАСТРУКТУРА И РАЗРАБОТКА ИНСТРУМЕНТОВ

ИНФРАСТРУКТУРА И РАЗРАБОТКА ИНСТРУМЕНТОВ

Основные моменты

ИНФРАСТРУКТУРА И РАЗРАБОТКА ИНСТРУМЕНТОВ

Этапы Проекта

НОДЫ

NeoGo от Neo SPCC

В марте был выпущен neo-go v0.98.2, в который добавили сбор устаревших данных о состоянии MPT и полную поддержку Windows. Обновление включает усовершенствование компилятора, генератор привязок контрактов и другие улучшения.

Также в новом выпуске команда отказалась от поддержки Go v1.15, добавив вместо него поддержку 1.18. Наряду с исправлениями ошибок, значительное время было также потрачено на разработку тестов и рефакторинг внутренних тестов для более широкого использования неостестов.

https://github.com/nspcc-dev/neo-go

SDK

neow3j от AxLabs

AxLabs выпустила neow3j v3.16.0 в марте. Разработчики, использующие новую версию, могут воспользоваться новыми типами, поддерживаемые для ключевого слова instanceOf, служебными методами для создания групп контрактов и извлечения неподписанных транзакций, а также поддержку наследования структур, а также другие улучшения и исправления ошибок.

https://github.com/neow3j/neow3j

СМАРТ-КОНТРАКТЫ И СТРУКТУРА ДЕЦЕНТРАЛИЗОВАННЫХ ПРИЛОЖЕНИЙ

Инструменты Neo Blockchain от NGD Enterprise

В марте NGD Enterprise выпустила предварительную версию обновленного отладчика N3, включая новые улучшения производительности для разработчиков. Изменения в первую очередь касаются вида хранилища, где потоки байтов ключ/значение декодируются в типы более высокого порядка для удобства чтения и простоты использования. Был обновлен компилятор смарт-контрактов Neo для C#; как только будут обновлены компиляторы для других языков, все контрактные разработчики в экосистеме N3 смогут воспользоваться преимуществами изменений в отладчике.

Команда также добилась прогресса в создании совместимой с Neo 3.2 версии Neo Blockchain Toolkit, которая, как ожидается, будет выпущена ближе к дате выпуска Neo 3.2.

https://marketplace.visualstudio.com/items?itemName=ngd-seattle.neo-blockchain-toolkit

КОШЕЛЕК

NeoLine от NEXT

Кошелек расширения Chrome от NEXT NeoLine был обновлен несколько раз в этом месяце. Прямое подключение GAS для N3, оптимизация логики подсказок dAPI, настройки кэширования и исправления ошибок были реализованы в новых версиях кошелька.

https://neoline.io/

NEOFS

NeoFS от Neo SPCC

За последний месяц Neo SPCC завершила несколько обновлений NeoFS, кульминацией которых стали четыре обновления модулей: neofs-contract v0.15.0, neofs-node v0.27.6, neofs-http-gw v.0.19.0 и neofs-s3-gw v0.19.0.

Обновление контракта привело к повышению эффективности GAS и увеличению количества сетевых карт, которые могут храниться в контракте netmap. Обновление узла в основном было сосредоточено на исправлении ошибок, а новая функциональность вместо этого подключена к предварительной версии v0.28. В шлюз S3 подключена поддержка настройки уведомлений, переопределения политики размещения и других улучшений, а в шлюзе HTTP исправлены ошибки и добавлена поддержка пробелов в атрибутах объектов.

Разработчики, использующие neofs-cli, увидят новые улучшения UX, такие как индикатор выполнения для загрузок / выгрузок и новая команда для создания токена носителя. Neo SPCC также занимались разработкой прототипа RESTful API и улучшений UX S3 Authmate.

https://fs.neo.org/

АУДИТ

Аудит Red4Sec

Для рассмотрения командой Red4Sec был запланирован ряд новых смарт-контрактов Команда завершила аудит стека GrantShares, тестирование среды NeoFS, обзор последних модификаций Flamingo и приступила к изучению решений для проекта PayProxy.

https://red4sec.com/en