Rapport mensuel de Neo Global - Développement

Mars 2022

Rapport mensuel de Neo Global - Développement

Fait Marquants

En mars, le noyau Neo a progressé vers une nouvelle version phare, Neo 3.2. Les mises à jour étaient relativement dispersées, réparties entre les corrections de bogues, les améliorations du compilateur C# et certaines nouvelles fonctionnalités. Les développeurs qui construisent des contrats trouveront un nouvel ajout au contrat natif CryptoLib; une implémentation de la fonction de hachage Murmur, une option rapide et rentable lorsque le hachage sans garantie cryptographique est requis.

L’un des changements les plus importants est venu sous la forme d’un simple ajustement des paramètres : en modifiant la limite maximale de transactions par bloc, la limite TPS du N3 TestNet recevra une augmentation substantielle, garantissant que les transactions peuvent être traitées en temps opportun à mesure que de nouvelles applications décentralisées commenceront à se déployer sur le réseau.

Sur le front de l’outillage, NGD Enterprise a fait des vagues avec la sortie d’un nouvel aperçu du débogueur. L’aperçu a apporté avec lui plusieurs améliorations à l’expérience de débogage dans le Neo Blockchain Toolkit, en mettant l’accent sur les changements dans la vue de stockage. Les développeurs utilisant des compilateurs compatibles (actuellement uniquement C#) pourront décorer leur code avec des informations de type qui seront émises dans les fichiers d’informations de débogage standard lors de la compilation.

Neo Debugger utilise ces données pour fournir une vue d’ensemble améliorée des types de valeur de stockage de contrat et d’exécution, ce qui permet aux développeurs de visualiser facilement les données de contrat lors du débogage des exécutions.

Neo SPCC a également apporté plusieurs améliorations à l’expérience du développeur, à la fois pour son implémentation de nœud Go / SDK et son client NeoFS. Dans le premier, les développeurs trouveront un nouveau générateur de liaisons de contrat pour interagir rapidement avec les contrats personnalisés via Go, tandis que le second a reçu diverses améliorations UX et corrections de bogues.

Plusieurs projets d’écosystème ont fait l’objet d’examens de sécurité par Red4Sec ce mois-ci, notamment des contrats pour NeoFS, Flamingo et le nouveau projet GrantShares DAO défendu par AxLabs.

Le rapport mensuel complet sur le développement mondial de Mars Neo se trouve ci-dessous.

DEVELOPPEMENT DU PROTOCOLE

DEVELOPPEMENT DU PROTOCOLE

Neo Core

Neo Compiler C# mis à jour pour prendre en charge la dernière syntaxe C# 10

Le compilateur principal pour les contrats intelligents C# a reçu une mise à jour qui a ajouté la prise en charge de la nouvelle syntaxe d’espace de noms introduite avec .NET 6.0. D’autres modifications apportées au compilateur ont amélioré l’option de dénomination du contrat (maintenant —base-name) et corrigé un bogue de chemin d’accès qui générait une exception au moment de l’exécution.


Limite de débit N3 TestNet préparée pour une augmentation de 10 fois

Une modification du paramètre MaxTransactionsPerBlock pour TestNet modifiera la limite de 512 à 5000 transactions par bloc dans la prochaine version. Cela augmente la capacité de débit du réseau de 34 ~ à plus de 333 transactions par seconde, permettant aux nœuds de vider complètement un mempool complet de 50 000 transactions en seulement 10 blocs. Une modification correspondante de la configuration DBFTPlugin a également été apportée pour tenir compte des nouveaux frais et de la taille maximum du système pour les blocs.


Fonction de hachage Murmur32 ajoutée au contrat CryptoLib natif

La prise en charge de la fonction de hachage non cryptographique Murmur a été ajoutée à la bibliothèque cryptographique contractuelle native, introduisant un nouvel outil permettant aux développeurs d’utiliser sur la chaîne lorsqu’un hachage efficace est requis. La fonction est plus efficace en GAS que SHA256, ce qui en fait un bon choix pour les recherches basées sur le hachage où la sécurité cryptographique (résistance à l’inversion) n’est pas requise.


Corrections de bugs terminées pour les problèmes dans les modules de base du plugin Neo

Un certain nombre de problèmes ont été détectés et résolus à la suite de recherches effectuées sur la chaîne N3 TestNet. Les problèmes de mémoire insuffisante causés pendant le traitement JSON sont évités grâce à de nouvelles limites à la taille de la pile de résultats dans les plugins RpcServer et ApplicationLogs, ainsi qu’aux limites GAS pour le module TokenTracker. Ces limites peuvent être ajustées dans les fichiers de configuration appropriés. L’équipe a également résolu une fuite d’informations locales dans le service Oracle.

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

Fait Marquants

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

Jalons du projet

NODE

NeoGo par Neo SPCC

Mars a vu la sortie de neo-go v0.98.2, ajoutant le garbage collection pour les données d’état MPT obsolètes et la prise en charge complète de Windows. La mise à jour comprenait des améliorations du compilateur, un générateur de liaisons de contrat et diverses autres améliorations.

Toujours dans la nouvelle version, l’équipe a abandonné le support de Go v1.15, ajoutant le support 1.18 à sa place. Parallèlement aux corrections de bugs, un temps important a également été consacré au développement de tests de fuzzing et à la refactorisation de tests internes pour utiliser neotest plus largement.

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

SDK

neow3j par AxLabs

AxLabs a publié neow3j v3.16.0 en mars. Les développeurs utilisant la nouvelle version trouveront de nouveaux types pris en charge pour le mot-clé instanceOf, des méthodes utilitaires pour créer des groupes de contrats et récupérer des transactions non signées, et la prise en charge de l’héritage struct, entre autres améliorations et corrections de bogues.

https://github.com/neow3j/neow3j

SMART CONTRACT & DAPP FRAMEWORK

Neo Blockchain Toolkit par NGD Enterprise

En mars, NGD Enterprise a livré la version préliminaire du débogueur N3 mis à jour, apportant de nouvelles améliorations de productivité pour les développeurs. Les modifications affectent principalement la vue de stockage, où les flux d’octets clé/valeur sont décodés en types d’ordre supérieur pour plus de lisibilité et de facilité d’utilisation. Le compilateur de contrats intelligents Neo pour C# a été mis à jour pour faciliter les changements; une fois que les compilateurs d’autres langages suivront, tous les développeurs sous contrat de l’écosystème N3 pourront bénéficier des nouvelles améliorations du débogueur.

L’équipe a également progressé sur une version compatible Neo 3.2 du Neo Blockchain Toolkit, qui devrait être livrée près de la date de sortie de Neo 3.2.

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

Portefeuille

NeoLine par NEXT

Le portefeuille d’extension Chrome NeoLine de NEXT a reçu plusieurs mises à niveau ce mois-ci. Un bouton de revendication GAS direct pour N3, l’optimisation de la logique de pointe dAPI, les ajustements de mise en cache et les corrections de bogues ont été implémentés dans les nouvelles versions du portefeuille.

https://neoline.io/

NEOFS

Neofs par Neo SPCC

Neo SPCC a effectué plusieurs mises à niveau neoFS au cours du mois dernier, aboutissant à quatre mises à jour de modules : neofs-contract v0.15.0, neofs-node v0.27.6, neofs-http-gw v.0.19.0 et neofs-s3-gw v0.19.0.

Les mises à jour du contrat ont permis d’améliorer l’efficacité du GAS et d’augmenter le nombre de cartes réseau pouvant être stockées dans le contrat netmap. La mise à jour du nœud s’est principalement concentrée sur les corrections de bogues, les nouvelles fonctionnalités étant plutôt introduites dans une version préliminaire v0.28. La passerelle S3 a reçu la prise en charge de la configuration des notifications, du remplacement de stratégie de placement et d’autres améliorations, et la passerelle HTTP a reçu des corrections de bogues et la prise en charge des espaces dans les attributs d’objet.

Les développeurs utilisant neofs-cli trouveront de nouvelles améliorations UX, telles qu’une barre de progression pour les téléchargements/uploads et une nouvelle commande pour la création de jetons au porteur. Neo SPCC a également travaillé au développement d’un prototype d’API RESTful et d’améliorations S3 Authmate UX.

https://fs.neo.org/

Audit

Audit par Red4Sec

Un certain nombre de nouveaux contrats intelligents ont été programmés pour examen par l’équipe Red4Sec. L’équipe a effectué un audit pour la pile GrantShares, des tests d’environnement NeoFS, un examen des récentes modifications de Flamingo et a commencé à étudier des solutions pour le projet PayProxy.

https://red4sec.com/en