Rapport mensuel de Neo Global - Développement

Août 2022

Rapport mensuel de Neo Global - Développement

Fait Marquants

Les principaux efforts des développeurs ont abouti à la version Neo v3.4 en août, apportant des améliorations notables des performances et des corrections de bogues. Le plus important est une nouvelle fonctionnalité puissante qui permet à un contrat de stocker des scripts dynamiques à exécuter au moment de l’exécution à l’avenir.

Les contrats intelligents sont généralement limités dans la gamme d’opérations qu’ils peuvent effectuer par les méthodes incluses dans leur code. Si certaines données doivent être calculées dynamiquement, une fonction stockant la logique pour effectuer ce calcul est généralement incluse par le déployeur de contrat.

Dans certains cas, le calcul à effectuer peut ne pas être connu à l’avance, de sorte qu’aucune fonction ne peut être incluse dans le contrat pour l’exécuter. Par exemple, dans une application de type escrow, un utilisateur peut vouloir que ses transactions soient gérées par le dépositaire de réputation le plus élevé disponible à ce moment-là, tandis qu’un autre peut vouloir uniquement s’appuyer sur un dépositaire qui a une identité publique attachée et le plus petit nombre global de litiges, à l’exclusion de ceux qui ont un très faible nombre de transactions.

Pour ces deux utilisateurs, l’adresse du dépositaire approprié changera naturellement au fil du temps, de sorte qu’elle ne peut pas être fournie à l’avance en tant que données fixes. Bien que le développeur d’applications puisse fournir un ensemble de méthodes pour servir les choix les plus courants aux utilisateurs, cela limiterait les options potentielles. Grâce à la nouvelle fonctionnalité de chargement dynamique des scripts, les utilisateurs seraient en mesure de stocker leurs critères de sélection pour les dépositaires directement dans le contrat à utiliser au besoin.

En dehors du noyau, les communautés de développement de Neo ont également pris le temps d’explorer de nouvelles initiatives tout en s’adaptant aux dernières avancées. AxLabs a continué à itérer sur l’application GrantShares, améliorant les fonctionnalités et les options de proposition, tandis que la plate-forme elle-même a franchi le cap des 100 000 $ US pour le total des subventions allouées.

Neo SPCC a presque achevé la refactorisation de son client NeoGo RPC, rationalisant l’expérience d’intégration pour les constructeurs d’applications, et s’est préparé à lancer publiquement la passerelle REST pour NeoFS. NGD Enterprise a commencé une autre nouvelle entreprise, en concevant une nouvelle solution pour répondre aux besoins des développeurs dans l’espace entre PrivateNet, TestNet et MainNet.

Le rapport mensuel complet sur le développement mondial de Neo pour le mois d’août se trouve ci-dessous.

DEVELOPPEMENT DU PROTOCOLE

DEVELOPPEMENT DU PROTOCOLE

Neo Core

Neo v3.4 publié avec des améliorations des performances des nœuds et des corrections de bogues

La dernière version Neo a atterri en août, apportant plusieurs améliorations. La méthode Atoi de contrat natif StdLib a reçu la prise en charge des signes principaux sur les chaînes numériques, et la prise en charge de la fonction HasMethod récemment implémentée dans le contrat natif ContractManagement a été ajoutée au devpack .NET. Sur le front de la correction des bogues, un problème avec les entrées JSON dans NeoCLI a été résolu et un bogue de rentrée potentielle pour les requêtes Oracle a été corrigé grâce à l’utilisation de l’InvocationCounter.

Un problème a été soulevé sur GitHub concernant l’utilisation de la classe de base .NET KeyedCollection par la classe RemoteNode de Neo afin de gérer les hachages en attente. L’implémentation a été basculée vers une variante plus légère qui ne prend en charge que les opérations nécessaires et améliore la vitesse de suppression des éléments, ce qui se traduit par une amélioration des performances des nœuds sous de lourdes charges.


Prise en charge des scripts en lecture seule chargés dynamiquement au moment de l’exécution pour les contrats

Les travaux de prise en charge des scripts chargés dynamiquement au moment de l’exécution dans les contrats se sont poursuivis, avec une logique de retour améliorée, une vérification CalledByEntry supplémentaire et la désactivation des notifications. Après une discussion de base des développeurs sur les problèmes de sécurité, ces scripts dynamiques ne s’exécuteront qu’à l’aide de l’indicateur en lecture seule.

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

Fait Marquants

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

Jalons du projet

EXPLORATEUR

NeoTube par NEXT

Ce mois-ci, NEXT a fait de la version N3 de son explorateur la version par défaut, nouvellement hébergée sur neotube.io. La version Héritée a été déplacée vers neo2.neotube.io et le TestNet Hérité a été arreté.

https://neotube.io/

NODE

NeoGo par Neo SPCC

Neo SPCC a poursuivi la refactorisation de son client RPC ce mois-ci, y compris de nouvelles interfaces pratiques conçues pour être utilisées à la fois dans le code interne et les applications backend. Invoker est utilisé pour l’exécution de script, tandis que Actor est utilisé pour la construction, la signature et le relais de transactions.

Divers correctifs du compilateur et améliorations de l’interface de ligne de commande ont été effectués, et des écarts mineurs par rapport à l’implémentation de référence C# ont été trouvés et corrigés. L’équipe a également proposé et mis en œuvre une amélioration de la méthode CalculateNetworkFee pour les témoins contractuels, bien que l’ajustement ne soit pas actuellement reflété dans le noyau.

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

SDK

neow3j par AxLabs

Le mois d’août a vu la sortie de Neow3j v3.19.0, offrant une compatibilité totale avec la version actuelle de Neo, v3.4.0 et améliorant encore l’expérience des développeurs. En plus de prendre en charge de nouvelles fonctionnalités de base, la nouvelle version du SDK permet à un développeur de récupérer plusieurs éléments d’itérateur à partir d’un contrat sans avoir besoin que le nœud RPC soit activé pour la session.

https://github.com/neow3j/neow3j

SMART CONTRACT & DAPP FRAMEWORK

Neo Blockchain Toolkit par NGD Enterprise

En août, NGD Enterprise a concentré ses efforts sur de nouveaux produits. Les travaux de conception de N3 Worknet, une nouvelle solution conçue pour remplir l’espace entre PrivateNet, TestNet et MainNet ont été achevés. La version préliminaire est en cours et devrait être lancée en septembre.

L’équipe a également continué à travailler sur une version préliminaire d’un compilateur de contacts intelligents TypeScript. Cela comblera une autre lacune dans l’écosystème et fera de TypeScript le cinquième langage de programmation disponible pour les développeurs sous contrat sur N3.

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

Portefeuille

NeoLine par NEXT

NEXT a mis à jour les portefeuilles d’extension mobile et Chrome NeoLine avec un certain nombre de corrections de bogues en août. Le réseau N3T4 a été supprimé de NeoLine pour Chrome, et un bogue avec des échecs d’appel de contrat lors de la commutation de réseau a été résolu. Les deux versions ont reçu des améliorations à la gestion des taux de change pour améliorer la commodité de l’utilisateur.

https://neoline.io/

NEOFS

Neofs par Neo SPCC

Le noyau NeoFS a reçu un certain nombre de modifications conçues pour rendre le système plus flexible, fiable et pratique. Le nœud a reçu des tests de stockage génériques et la possibilité d’imprimer des attributs d’objet, ainsi qu’un correctif de bogue pour l’interface de ligne de commande a amélioré la gestion des autorisations incorrectes. Le client objet du SDK Go a été refactorisé pour le rendre plus facile à prendre en charge, et diverses améliorations ont été ajoutées dans l’API.

La majorité des modifications apportées aux services NeoFS en août étaient centrées sur les passerelles de protocole. En particulier, la passerelle S3 a reçu la prise en charge de la copie de balises et du cryptage client SSE, ainsi que la possibilité d’améliorer la vitesse de téléchargement au prix d’une certaine fiabilité. L’équipe a également préparé la passerelle REST pour sa version publique, en ajoutant CORS, la prise en charge des jetons de porteur binaires et des mesures supplémentaires.

https://fs.neo.org/

Audit

Audit par Red4Sec

Red4Sec a effectué un audit du prochain contrat NameService pour N3 en août et a examiné les correctifs apportés aux contrats Token et Mufftroller du projet MyMuffin. Un audit a également été prévu avec l’équipe pour l’examen d’une nouvelle fonctionnalité Flamingo.

https://red4sec.com/en

Divers

GrantShares par AxLabs

Parallèlement à ses améliorations Neow3j, AxLabs a également consacré des efforts considérables à l’affinement de la plate-forme GrantShares ce mois-ci. La prise en charge de nouveaux types de propositions a été introduite, permettant aux utilisateurs de proposer l’ajout ou la suppression de membres DAO, des modifications aux ressources prises en charge et d’autres paramètres de plate-forme.

Une fonctionnalité permettant de relier les propositions connexes a également été incluse dans la mise à jour, ce qui facilite le suivi du contexte entre les différentes discussions sur les propositions. Enfin, un tableau de bord pour la trésorerie De SubventionShares a été complété, qui affiche les informations sur le solde, les dépenses et les transactions de subvention.

https://grantshares.io/