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

Август 2022

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

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

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

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

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

Для обоих этих пользователей адрес соответствующего хранителя, естественно, будет меняться с течением времени, поэтому он не может быть предоставлен заранее в виде фиксированных данных. Хотя разработчик приложения может предоставить набор методов для обслуживания наиболее распространенных вариантов для пользователей, это ограничит потенциальные варианты. Благодаря новой функции динамической загрузки скриптов пользователи смогут хранить свои критерии отбора хранителей непосредственно в контракте, который будет использоваться по мере необходимости.

За пределами ядра, сообщества разработчиков Neo также нашли время для изучения новых инициатив, адаптируясь к последним достижениям. AxLabs продолжала итерировать приложение GrantShares, улучшая функциональность и варианты предложений, в то время как сама платформа преодолела рубеж в 100 тысяч долларов США по общему количеству выделенных грантов.

Neo SPCC приблизилась к завершению рефакторинга своего клиента NeoGo RPC, упростив процесс интеграции для разработчиков приложений, и подготовилась к публичному запуску шлюза REST для NeoFS. NGD Enterprise запустило еще одно новое начинание, разработав новое решение для удовлетворения потребностей разработчиков в пространстве между PrivateNet, TestNet и MainNet.

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

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

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

Neo Core

Neo v3.4 выпущена с улучшениями производительности узлов и исправлениями ошибок

Последняя версия Neo была выпущена в августе, принеся с собой несколько улучшений. Метод Atoi собственного контракта StdLib получил поддержку ведущих знаков в числовых строках, а поддержка недавно реализованной функции HasMethod в собственном контракте ContractManagement была добавлена в пакет разработки .NET. На фронте исправления ошибок была решена проблема с инпутами JSON в NeoCLI, а потенциальная ошибка повторного входа для запросов Oracle была исправлена с помощью InvocationCounter.

На GitHub был поднят вопрос об использовании базового класса .NET KeyedCollection классом RemoteNode компании Neo для обработки ожидающих хэшей. Реализация была переведена на более легкий вариант, который поддерживает только необходимые операции и улучшает скорость удаления элементов, что приводит к улучшению производительности узла при больших нагрузках.


Поддержка динамически загружаемых сценариев только для чтения во время выполнения контрактов

Работа по поддержке динамически загружаемых сценариев во время выполнения в контрактах продолжалась, с улучшенной логикой возврата, дополнительной проверкой CallByEntry и отключением уведомлений. После обсуждения основных проблем безопасности разработчиками эти динамические сценарии будут выполняться только с флагом только для чтения.

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

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

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

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

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

ОБОЗРЕВАТЕЛЬ БЛОКЧЕЙНА

NeoTube от NEXT

В этом месяце NEXT сделал версию N3 своего обозревателя по умолчанию, недавно размещенную на neotube.io. Устаревшая версия была перемещена в neo2.neotube.io, а устаревшая TestNet устарела.

https://neotube.io/

НОДЫ

NeoGo от Neo SPCC

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

Были завершены различные исправления компилятора и улучшения CLI, а также найдены и исправлены незначительные отклонения от эталонной реализации C#. Группа также предложила и внедрила усовершенствование метода CalculateNetworkFee для свидетелей на основе контрактов, хотя эта корректировка в настоящее время не отражена в ядре.

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

SDK

neow3j от AxLabs

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

https://github.com/neow3j/neow3j

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

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

В августе NGD Enterprise сосредоточила свои усилия на новых продуктах. Завершены работы по проектированию N3 Worknet, нового решения, предназначенного для заполнения пространства между PrivateNet, TestNet и MainNet. Предварительная сборка находится в стадии разработки и должна быть запущена в сентябре.

Команда также продолжала работать над предварительным выпуском компилятора смарт-контактов TypeScript. Это заполнит еще один пробел в экосистеме и сделает TypeScript пятым языком программирования, доступным для контрактных разработчиков на N3.

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

КОШЕЛЕК

NeoLine от NEXT

NEXT обновил кошельки NeoLine для мобильных устройств и Chrome с рядом исправлений ошибок в августе. Сеть N3T4 была удалена из NeoLine для Chrome, и исправлена ошибка с сбоями контрактных вызовов при смене сетей. Обе версии получили улучшения в обработке курса обмена для повышения удобства пользователей.

https://neoline.io/

NEOFS

NeoFS от Neo SPCC

Ядро NeoFS получило ряд изменений, призванных сделать систему более гибкой, надежной и удобной. Узел получил общее тестирование хранилища и возможность печатать атрибуты объектов, а исправление ошибки для CLI улучшило обработку неправильных разрешений. Объектный клиент Go SDK был переработан, чтобы упростить его поддержку, и в API были добавлены различные улучшения.

Большинство изменений в сервисах NeoFS в августе были сосредоточены на шлюзах протокола. В частности, шлюз S3 получил поддержку копирования тегов и шифрования клиентов SSE, а также возможность повысить скорость загрузки за счет некоторой надежности. Команда также подготовила шлюз REST к его публичному выпуску, добавив CORS, поддержку двоичных маркеров носителя и дополнительные метрики.

https://fs.neo.org/

АУДИТ

Аудит Red4Sec

В августе Red4Sec провела аудит предстоящего контракта NameService для N3 и рассмотрела исправления в контрактах Token и Mufftroller проекта MyMuffin. Также запланирован аудит с командой для рассмотрения новой функции Flamingo.

https://red4sec.com/en

ДОПОЛНЕНИЕ

Гранты от AxLabs

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

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

https://grantshares.io/