Reporte Mensual Neo Global - Desarrollo

Agosto 2022

Reporte Mensual Neo Global - Desarrollo

Resúmenes

Los esfuerzos principales de los desarrolladores culminaron en el lanzamiento de Neo v3.4 en agosto, trayendo notables mejoras de rendimiento y correcciones de errores. Lo más destacado es una nueva y poderosa característica que hace posible que un contrato almacene scripts dinámicos que se ejecutarán en tiempo de ejecución en el futuro.

Los contratos inteligentes suelen estar limitados en el rango de operaciones que pueden realizar por los métodos incluidos en su código. Si se necesitan algunos datos para calcularse dinámicamente, el implementador del contrato generalmente incluiría una función que almacene la lógica para realizar ese cálculo.

En algunos casos, es posible que el cálculo a realizar no se conozca con antelación, por lo que no se puede incluir ninguna función en el contrato para realizarlo. Por ejemplo, en una aplicación de depósito en garantía, un usuario puede querer que sus operaciones sean administradas por el custodio de mayor reputación disponible en ese momento, mientras que otro solo puede querer depositar en garantía con un custodio que tenga una identidad pública adjunta y el menor número general de disputas, excluyendo aquellos con un número muy bajo de operaciones.

Para ambos usuarios, la dirección del custodio apropiado cambiará naturalmente con el tiempo, por lo que no se puede proporcionar con anticipación como datos fijos. Aunque el desarrollador de la aplicación podría proporcionar un conjunto de métodos para servir las opciones más comunes a los usuarios, esto limitaría las opciones potenciales. Con la nueva funcionalidad de carga de scripts dinámicos, los usuarios podrían almacenar sus criterios de selección para los custodios directamente en el contrato que se utilizarán según sea necesario.

Fuera del núcleo, las comunidades de desarrollo de Neo también hicieron tiempo para explorar nuevas iniciativas mientras se adaptaban a los últimos avances. AxLabs continuó iterando en la aplicación GrantShares, mejorando la funcionalidad y las opciones de propuesta, mientras que la plataforma en sí superó el hito de US $ 100K en subvenciones totales asignadas.

Neo SPCC estuvo a punto de completar su refactorización de clientes RPC de NeoGo, agilizando la experiencia de integración para los creadores de aplicaciones y preparado para lanzar públicamente la puerta de enlace REST para NeoFS. NGD Enterprise comenzó otro nuevo esfuerzo, diseñando una nueva solución para satisfacer las necesidades de los desarrolladores en el espacio entre PrivateNet, TestNet y MainNet.

El informe mensual global completo de Desarrollo de Neo para agosto se puede encontrar a continuación.

DESARROLLO DE PROTOCOLOS

DESARROLLO DE PROTOCOLOS

Neo Núcleo

Neo v3.4 lanzado con mejoras en el rendimiento del nodo y correcciones de errores

La última versión de Neo aterrizó en agosto, trayendo consigo varias mejoras. El método Atoi de contrato nativo de StdLib recibió compatibilidad con signos principales en cadenas numéricas y se agregó compatibilidad con la función HasMethod recientemente implementada en el contrato nativo de ContractManagement al devpack de .NET. En el frente de la corrección de errores, se resolvió un problema con las entradas JSON en NeoCLI y se corrigió un posible error de reentrada para las solicitudes de Oracle mediante el uso de InvocationCounter.

Se planteó un problema en GitHub con respecto al uso de la clase base .NET KeyedCollection por parte de la clase RemoteNode de Neo para controlar los hashes pendientes. La implementación se cambió a una variante más ligera que solo admite las operaciones necesarias y mejora la velocidad de eliminación de elementos, lo que resulta en un mejor rendimiento del nodo bajo cargas pesadas.


Compatibilidad con scripts de solo lectura cargados dinámicamente en tiempo de ejecución para contratos

El trabajo para admitir scripts cargados dinámicamente en tiempo de ejecución en los contratos continuó, con una lógica de retorno mejorada, una comprobación adicional de CalledByEntry y la desactivación de las notificaciones. Después de la discusión principal del desarrollador sobre las preocupaciones de seguridad, estos scripts dinámicos solo se ejecutarán con el indicador de solo lectura.

DESARROLLO DE INFRAESTRUCTURA Y HERRAMIENTAS

DESARROLLO DE INFRAESTRUCTURA Y HERRAMIENTAS

Resúmenes

DESARROLLO DE INFRAESTRUCTURA Y HERRAMIENTAS

Hitos del proyecto

EXPLORADOR

NeoTube por NEXT

Este mes, NEXT hizo que la versión N3 de su explorador fuera la predeterminada, recién alojada en neotube.io. La versión Legacy se movió a neo2.neotube.io y Legacy TestNet quedó obsoleta.

https://neotube.io/

NODO

NeoGo por Neo SPCC

Neo SPCC continuó con su refactorización de clientes RPC este mes, incluidas nuevas interfaces convenientes diseñadas para su uso tanto en código interno como en aplicaciones backend. Invoker se utiliza para la ejecución de scripts, mientras que Actor se utiliza para la construcción de transacciones, la firma y la retransmisión.

Se completaron varias correcciones del compilador y mejoras de la CLI, y se encontraron y corrigieron desviaciones menores de la implementación de referencia de C#. El equipo también propuso e implementó una mejora en el método CalculateNetworkFee para testigos basados en contratos, aunque el ajuste no se refleja actualmente en el núcleo.

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

SDK

neow3j por AxLabs

Agosto vio el lanzamiento de Neow3j v3.19.0, con compatibilidad total con la versión actual de Neo, v3.4.0 y mejorando aún más la experiencia del desarrollador. Además de admitir nuevas características principales, la nueva versión del SDK hace posible que un desarrollador recupere múltiples elementos iteradores de un contrato sin necesidad de que el nodo RPC tenga habilitada la sesión.

https://github.com/neow3j/neow3j

CONTRATO INTELIGENTE Y MARCO DAPP

Neo Blockchain Toolkit por NGD Enterprise

En agosto, NGD Enterprise centró sus esfuerzos en nuevos productos. El trabajo de diseño se completó para N3 Worknet, una nueva solución diseñada para llenar el espacio entre PrivateNet, TestNet y MainNet. La versión preliminar está en curso y está prevista para ser lanzada en septiembre.

El equipo también continuó trabajando en una versión preliminar de un compilador de contactos inteligentes de TypeScript. Esto llenará otro vacío en el ecosistema y hará de TypeScript el quinto lenguaje de programación disponible para los desarrolladores contratados en N3.

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

BILLETERA

NeoLine de NEXT

NEXT actualizó las carteras de extensión móvil y Chrome de NeoLine con una serie de correcciones de errores en agosto. La red N3T4 se eliminó de NeoLine para Chrome y se resolvió un error con fallas en las llamadas de contrato al cambiar de red. Ambas versiones recibieron mejoras en el manejo del tipo de cambio para mejorar la comodidad del usuario.

https://neoline.io/

NEOFS

NeoFS por Neo SPCC

El núcleo NeoFS recibió una serie de cambios diseñados para hacer que el sistema sea más flexible, confiable y conveniente. El nodo recibió pruebas de almacenamiento genéricas y la capacidad de imprimir atributos de objeto, y una corrección de errores para la CLI mejoró el manejo de permisos incorrectos. El cliente de objetos del SDK de Go se refactorizó para que fuera más fácil de admitir y se agregaron diversas mejoras en la API.

La mayoría de los cambios en los servicios de NeoFS en agosto se centraron en las puertas de enlace de protocolo. En particular, la puerta de enlace S3 recibió soporte para la copia de etiquetas y el cifrado de clientes SSE, además de la opción de mejorar la velocidad de carga a costa de cierta confiabilidad. El equipo también preparó la puerta de enlace REST para su lanzamiento público, agregando CORS, soporte de token de portador binario y métricas adicionales.

https://fs.neo.org/

AUDITORÍA

Auditoría por Red4Sec

Red4Sec realizó una auditoría del próximo contrato de NameService para N3 en agosto, y revisó las correcciones a los contratos de Token y Mufftroller del proyecto MyMuffin. También se ha programado una auditoría con el equipo para la revisión de una nueva función de Flamingo.

https://red4sec.com/en

MISCELÁNEO

GrantShares de AxLabs

Junto con sus mejoras de Neow3j, AxLabs también dedicó un esfuerzo considerable a refinar la plataforma GrantShares este mes. Se introdujo soporte para nuevos tipos de propuestas, lo que permite a los usuarios proponer la adición o eliminación de miembros de DAO, cambios en los activos compatibles y otras configuraciones de plataforma.

En la actualización también se incluyó una función para vincular las propuestas relacionadas, lo que facilita el seguimiento del contexto entre los diferentes debates sobre las propuestas. Finalmente, se completó un panel para la tesorería de GrantShares, que muestra información de saldo, gastos y transacciones de subvenciones.

https://grantshares.io/