Rapport mensuel de Neo Global - Développement

Juin 2022

Rapport mensuel de Neo Global - Développement

Fait Marquants

La commodité pour les développeurs était un thème commun en juin. Les principaux référentiels Neo et les projets développés par la communauté ont reçu de nouvelles fonctionnalités pour résoudre les problèmes ou réduire le temps passé par les constructeurs à intégrer Neo dans leurs applications.

Dans le noyau Neo, les modifications apportées aux contrats natifs et au système RPC ont été les améliorations les plus importantes dans cette direction. Une nouvelle méthode de contrat native pour vérifier l’existence d’une méthode dans un contrat intelligent évite le coût et l’effort de développement liés à l’analyse d’un ABI complet, et deux méthodes RPC pour gérer les itérateurs permettent aux intégrateurs de récupérer des données à partir d’un itérateur sans se heurter à des limites de nœud.

De même, les ajustements apportés à l’infrastructure communautaire ont suivi le modèle. NGD Enterprise a introduit la nouvelle fonctionnalité de téléchargement de contrat dans le cadre de la boîte à outils Neo Blockchain; un outil puissant qui permet aux développeurs de tester leurs applications par rapport à des contrats MainNet ou TestNet en direct sans quitter la sécurité d’un environnement de développement local.

Une mise à jour du devpack neow3j par AxLabs a introduit des interfaces contractuelles, une nouvelle façon utile pour les développeurs Java d’interagir avec les contrats intelligents déployés. Cette fonctionnalité complète naturellement la fonction de téléchargement de contrat de la boîte à outils; Les auteurs de contrats intelligents peuvent télécharger un contrat MainNet sur leur instance Neo Express, puis écrire un contrat Java avec une interface de contrat dynamique qui peut interagir avec le contrat téléchargé et ses données de stockage réelles.

D’autres efforts notables sur le front de la commodité pour les développeurs incluent l’ajout de la prise en charge de l’API WalletConnect au SDK NeoFS par Neo SPCC, et un remplacement des frais système introduit dans le NeoLine dAPI par NEXT pour accorder de la flexibilité aux développeurs dApp.

Le rapport mensuel complet sur le développement mondial de Neo pour juin est disponible ci-dessous.

DEVELOPPEMENT DU PROTOCOLE

DEVELOPPEMENT DU PROTOCOLE

Neo Core

Ajustements mineurs du contrat natif pour améliorer la commodité du développeur et corriger les bogues

Trois petits changements aux contrats natifs sont arrivés en juin. Les méthodes de contrat natives sont désormais ordonnées à l’aide de comparaisons ordinales, ce qui apporte une compatibilité ASCII pour éviter les différences d’état qui pourraient être causées par des différences dans les paramètres de région.

En outre, un bogue qui empêchait l’émission de notifications lors de l’enregistrement de nouveaux candidats à la gouvernance a été corrigé et le nouveau hasMethod a été ajouté au contrat natif ContractManagement. Cette méthode permet aux développeurs de vérifier facilement si une méthode donnée existe sur un contrat intelligent sans avoir besoin d’analyser l’ensemble de l’ABI, ce qui réduit les coûts de GAS dans le processus.


NeoVM optimisé pour améliorer la vitesse d’amorçage, l’exécution et les erreurs de déploiement corrigées

Les optimisations du NeoVM ont été réalisées, améliorant la vitesse de synchronisation hors ligne. Les erreurs d’exécution de machine virtuelle dans des scénarios spécifiques ont également été résolues en modifiant la méthode utilisée pour initialiser les champs statiques relatifs aux threads, et une nouvelle vérification de décalage de méthode sur le déploiement de contrat a été ajoutée pour éviter les erreurs hors limites pendant le déploiement.


Amélioration de la gestion des itérateurs sur les terrains RPC dans les néo-modules, entre autres améliorations

Plusieurs modifications ciblant les plugins Neo de base ont été soumises en juin. Le changement le plus notable a été le traitement des données d’itérateur renvoyées par un contrat intelligent sur RPC. Deux nouvelles méthodes, traverseiterator et terminatesession ont été ajoutés pour permettre aux développeurs de récupérer toutes les données d’un itérateur sans rencontrer de limitations de nœud.

D’autres changements incluaient une correction de bogue pour la méthode findstates StateService , la nouvelle méthode RPC getcandidates a été ajoutée pour améliorer la commodité des développeurs pour les intégrations liées à la gouvernance, et une augmentation du nombre de nœuds de consensus qui répondraient à RecoveryRequests dans le module DBFT, améliorant ainsi la fiabilité du consensus.

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

Fait Marquants

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

Jalons du projet

NODE

NeoGo par Neo SPCC

L’implémentation alternative de Neo SPCC dans Go a fait l’objet d’une longue liste de changements. Parallèlement à divers commits qui ont suivi les mises à jour neo 3.3.0 et 3.3.1, l’équipe a poussé une gamme de nouvelles fonctionnalités et de corrections de bogues. Notamment, les optimisations de performances pour améliorer les dégradations TPS résultant des récentes modifications de protocole, les corrections de bogues dans le sous-système RPC, les correctifs dBFT et un certain nombre d’améliorations de la journalisation, de la génération et de l’interface de ligne de commande ont été achevées en juin.

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

SDK

neow3j par AxLabs

Neow3j v3.18 est sorti fin juin, apportant le support pour les différents changements introduits dans Neo v3.3.1. L’amélioration la plus notable du devpack a été l’introduction de nouvelles interfaces de contrat pour rationaliser les appels vers d’autres contrats intelligents déployés. L’équipe a également ajusté la concaténation string en rendant l’opération exclusive aux types String, destinée à éviter les différences dans les codages attendus dans JVM par rapport à neoVM.

https://github.com/neow3j/neow3j

COMPILATEUR

Boa par COZ

Les responsables du compilateur de contrats intelligents Python pour N3 ont identifié un certain nombre d’améliorations potentielles lors du hackathon Polaris et dans le développement de projets internes tels que Props. Les exemples incluent l’ajout d’une méthode pour convertir les valeurs ECPoint et de clé publique au formulaire de hachage de script et la possibilité de définir la longueur d’un bytearray dans son constructeur. La dernière version de Boa apporte également un support pour Python 3.10 et un assortiment de correctifs divers.

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

SMART CONTRACT & DAPP FRAMEWORK

Neo Blockchain Toolkit par NGD Enterprise

La puissante nouvelle fonctionnalité de téléchargement de contrat est arrivée dans le Neo Blockchain Toolkit ce mois-ci. Cette nouvelle fonctionnalité, développée par NGD Enterprise en collaboration avec COZ, permet aux développeurs de télécharger facilement des contrats intelligents et leurs enregistrements de stockage à partir du N3 MainNet ou du TestNet et de les ajouter à un réseau privé local basé sur Express.

Le téléchargement de contrats facilite grandement le test d’intégrations d’applications ou l’écriture de contrats intelligents qui invoquent dynamiquement des contrats existants. Les développeurs peuvent garder le contrôle total de leur environnement de développement local tout en utilisant des données de production réelles pour garantir un comportement correct.

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

Portefeuille

Neon Wallet Mobile par COZ

COZ a achevé la mise en œuvre de base de son portefeuille mobile en juin et déplace maintenant sa priorité vers le raffinement de l’expérience utilisateur. Plusieurs corrections de bogues et améliorations des performances ont été effectuées, et de nouvelles fonctionnalités ont été ajoutées : prise en charge native des NFT et prise en charge de l’authentification PKI via WalletConnect.

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

NeoLine par NEXT

Jusqu’en juin, l’équipe NEXT a réitéré la nouvelle fonctionnalité ajoutée le mois précédent. La prise en charge du portefeuille matériel Ledger a été améliorée et plusieurs corrections de bogues ont été effectuées. Un ajout notable a été le champ overrideSystemFee ajouté à la dAPI, permettant aux applications de personnaliser les frais système si nécessaire.

https://neoline.io/

NEOFS

Neofs par Neo SPCC

Un grand nombre d’améliorations du noyau et des services NeoFS ont été achevées en juin. Dans le noyau, Neo SPCC a remanié l’interface de ligne de commande pour améliorer sa maintenabilité et unifier les interfaces communes. La prise en charge de l’API WalletConnect a été intégrée au SDK et des optimisations de stockage local ont été ajoutées pour améliorer les performances et réduire la consommation de ressources.

Sur le front des services, la passerelle S3 a reçu des optimisations de liste de compartiment, tandis que la passerelle HTTP a vu des ajustements de taille de tampon sur les composants internes pour améliorer les vitesses de chargement/téléchargement d’objets. La passerelle REST a pris en charge les signatures WalletConnect, fournissant une solution native pour contrôler les ressources NeoFS à partir d’applications Web. Enfin, l’équipe a mis à jour les détails et les informations de tarification pour le lancement prochain du service Morph.CDN, parallèlement à l’intégration de la prise en charge du zonage edge.

https://fs.neo.org/

Audit

Audit par Red4Sec

Ce mois-ci, l’équipe Red4Sec a commencé le processus d’audit des contrats intelligents de Saffron Finance et a examiné les correctifs soumis pour l’échange GhostMarket et Muffin. De plus, les dernières modifications apportées au projet PayProxy font également l’objet d’un examen.

https://red4sec.com/en