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

Июнь 2022

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

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

Удобство для разработчиков было главной темой в июне. Как основные репозитории Neo, так и проекты, разработанные сообществом, получили новый функционал для устранения проблем или сокращение времени, необходимого разработчикам на интеграцию Neo в свои приложения.

В ядре Neo наиболее заметными улучшениями в этом направлении были модификации нативных контрактов и системы RPC. Новый нативный метод контракта для проверки существования метода в смарт-контракте позволяет избежать затрат и усилий на разработку при парсинге полного ABI, а два метода RPC для обработки итераторов позволяют интеграторам извлекать данные из итератора, не сталкиваясь с пределами ноды

Аналогичным образом, корректировки инфраструктуры камьюнити следовали этой схеме. NGD Enterprise представила новую функцию загрузки контрактов в рамках Neo Blockchain Toolkit; мощный инструмент, который позволяет разработчикам тестировать свои приложения по действующим контрактам MainNet или TestNet, не покидая безопасности локальной среды разработки.

Обновление neow3j devpack от AxLabs представило интерфейсы контрактов, полезный новый способ для Java-разработчиков взаимодействовать с развернутыми смарт-контрактами. Эта функциональность естественно дополняет функцию загрузки контракта Toolkit; Авторы смарт-контрактов могут загрузить контракт MainNet в свой инстанс Neo Express, а затем написать контракт Java с динамическим интерфейсом контракта, который может взаимодействовать с загруженным контрактом и его реальными данными хранения.

Другие заметные работы по улучшению удобства разработчиков включают добавление поддержки WalletConnect API в NeoFS SDK от Neo SPCC и переопределение системных сборов, введенное в NeoLine dAPI NEXT, чтобы предоставить гибкость разработчикам dApp.

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

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

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

Neo Core

Минорные корректировки нативного контракта для повышения удобства разработчиков и исправления ошибок

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

Кроме того, исправлена ошибка, препятствовавшая отправке уведомлений при регистрации новых кандидатов управления, и новый hasMethod был добавлен в нативный контракт ContractManagement. Этот метод позволяет разработчикам легко проверить, существует ли данный метод в смарт-контракте, без необходимости анализа всего ABI, что снижает GAS затраты .


NeoVM оптимизирован для повышения скорости загрузки, выполнения и устранения ошибок развертывания.

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


Среди других улучшений, оптимизирована обработка итератора для RPC в нео-модулях.

В июне было представлено несколько модификаций, направленных на основные плагины Neo. Наиболее значимое изменение коснулось обработки данных итератора, возвращаемых смарт-контрактом через RPC. Два новых метода, traverseiterator и terminatesession были добавлены, чтобы позволить разработчикам извлекать все данные из итератора, не сталкиваясь с ограничениями ноды.

Другие изменения включали исправление ошибки для StateServicefindstates метод, новый getcandidatesБыл добавлен метод RPC, чтобы упростить разработчикам интеграцию, связанную с управлением, и увеличить количество узлов консенсуса, которые будут отвечать RecoveryRequests в модуле DBFT, повышая надежность консенсуса.

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

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

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

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

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

НОДЫ

NeoGo от Neo SPCC

Альтернативная реализация Neo SPCC в Go была на приемной стороне списка изменений. Наряду с различными коммитами, которые отслеживали обновления Neo 3.3.0 и 3.3.1, команда выпустила ряд новых функций и исправлений ошибок. Примечательно, что оптимизация производительности для улучшения деградации TPS после недавних изменений протокола, исправлений ошибок в подсистеме RPC, исправлений dBFT, а также логирования, сборки и улучшения CLI были завершены в июне.

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

SDK

neow3j от AxLabs

Neow3j v3.18 был выпущен в конце июня, обеспечив поддержку различных изменений, внесенных в Neo v3.3.1. Наиболее заметным улучшением devpack было введение новых интерфейсов контрактов для оптимизации вызовов к другим развернутым смарт-контрактам. Команда также скорректировала конкатенацию строк, сделав операцию эксклюзивной для типов строк, предназначенную для предотвращения различий в ожидаемых кодировках в JVM по сравнению с NeoVM.

https://github.com/neow3j/neow3j

КОМПИЛЯТОР

Boa от COZ

Поддержка компилятора смарт-контрактов на Python для N3 выявила ряд потенциальных улучшений во время хакатона Polaris и в разработке внутренних проектов, таких как Props. Примеры включают добавление метода преобразования ECPoint и значений открытого ключа в хэш-форму скрипта, а также возможность определения длины байтового массива в его конструкторе. Последний выпуск Boa также приносит поддержку Python 3.10 и ряд различных исправлений.

https://github.com/CityOfZion/neo3-boa/

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

Инструментарий Neo Blockchain от NGD Enterprise

Мощная новая функция загрузки контрактов появилась в Neo Blockchain Toolkit в этом месяце. Эта новая функция, разработанная NGD Enterprise в сотрудничестве с COZ, позволяет разработчикам легко загружать смарт-контракты и их записи хранения из N3 MainNet или TestNet и добавлять их в локальную частную сеть на основе Express.

Загрузка контрактов значительно упрощает тестирование интеграции приложений или написание смарт-контрактов, которые динамически вызывают существующие контракты. Разработчики могут полностью контролировать свою локальную среду разработки, используя реальные производственные данные для обеспечения правильного поведения.

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

КОШЕЛЕК

Мобильный Кошелек Neon от COZ

COZ завершил основную реализацию своего мобильного кошелька в июне и теперь смещает свой приоритет на улучшение пользовательского опыта. Было исправлено несколько ошибок и улучшена производительность, а также добавлены новые функции: встроенная поддержка NFT и поддержка аутентификации PKI через WalletConnect.

https://github.com/CityOfZion/neon-wallet

NeoLine от NEXT

В течение июня команда NEXT итерировала новый функционал, добавленный в предыдущем месяце. Была улучшена поддержка аппаратного кошелька Ledger и исправлены некоторые ошибки. Примечательным дополнением стало поле overrideSystemFee, добавленное в dAPI, что позволило приложениям кастомизировать системные сборы по мере необходимости.

https://neoline.io/

NEOFS

NeoFS от Neo SPCC

В июне было завершено большое количество улучшений ядра и сервиса NeoFS. В ядре Neo SPCC был проведен рефакторинг интерфейса командной строки, для упрощения его поддержки и объединения общих интерфейсов. Поддержка API WalletConnect была интегрирована в SDK, а оптимизация локального хранилища была добавлена для повышения производительности и снижения потребления ресурсов.

На фронте сервиса шлюз S3 были оптимизированы списки сегментов, в то время как в шлюзе HTTP были проведены настройки размера буфера для внутренних компонентов для повышения скорости загрузки/скачивания объектов. Шлюз REST получил поддержку подписей WalletConnect, предоставляя собственное решение для управления ресурсами NeoFS из веб-приложений. Команда также обновила детали и информацию о ценах для предстоящего запуска сервиса Morph.CDN, наряду с интеграцией поддержки пограничного зонирования.

https://fs.neo.org/

АУДИТ

Аудит Red4Sec

В этом месяце команда Red4Sec начала процесс аудита смарт-контрактов Saffron Finance и рассмотрела исправления, представленные для биржи GhostMarket GhostMarket и Muffin. Кроме того, последние изменения в проекте PayProxy также находятся на рассмотрении.

https://red4sec.com/en