Rapport mensuel de Neo Global - Développement

Novembre / Décembre 2021

Rapport mensuel de Neo Global - Développement

Fait Marquants

Pour clôturer 2021, l’équipe de développement de base s’est concentrée sur les améliorations à petite échelle, les corrections de bogues et les commodités des développeurs. La popularité récente des projets NFT sur Neo N3 a conduit à l’élévation du support NEP-11 dans le nœud principal, avec la sortie d’un nouveau module de suivi. Le plugin TokensTracker remplace le plugin NEP-17 précédent uniquement et peut être configuré pour suivre l’une ou l’autre norme de jeton et activer les méthodes RPC respectives.

Parmi les développeurs d’outils et d’infrastructures, le thème commun était les frameworks de test. AxLabs, Neo SPCC et NGD Enterprise ont chacun publié de nouveaux outils pour simplifier les tests automatisés des contrats intelligents.

Alors que les deux premiers étaient principalement conçus pour les développeurs Java et Go, le second a pris la forme d’un nouvel outil conçu spécifiquement pour permettre aux développeurs non-C# d’accéder au framework de test C#. Parallèlement aux outils existants de COZ, les développeurs N3 n’ont jamais eu un meilleur accès aux ressources dont ils ont besoin pour obtenir de nouvelles applications entièrement préparées pour une utilisation en production.


Voir le rapport mensuel général de novembre/décembre pour un aperçu de l’activité des écosystèmes.

DEVELOPPEMENT DU PROTOCOLE

DEVELOPPEMENT DU PROTOCOLE

Neo Core

Neo mis à jour vers la version 3.1 avec une nouvelle portée de témoin et un module de suivi NFT

Jusqu’en novembre, l’équipe de développement principale et NGD ont travaillé à la version Neo v3.1. La mise à jour a apporté des améliorations à de nombreuses parties du noyau, avec quelques changements produisant de nouvelles fonctionnalités pour les utilisateurs et les développeurs.

La nouvelle portée des témoins règles offre un contrôle encore plus grand sur l’utilisation des signatures dans les transactions, offrant aux utilisateurs des outils supplémentaires pour une interaction sécurisée sur le réseau N3. Le champ d’application Règles permet de combiner et d’imbriquer d’autres étendues et conditions, ce qui permet de restreindre davantage l’utilisation des signatures, même sur des chaînes d’appels de contrat complexes.

Un autre nouvel outil, le plugin TokensTracker, ajoute la prise en charge RPC pour les nouveaux appels NEP-11, ce qui facilite la récupération des soldes NFT d’un compte, les transferts ou la recherche de propriétés de jeton. Le module contient à la fois le tracker NEP-17 d’origine et la nouvelle fonctionnalité implémentée pour le suivi NFT.

Sous le capot, l’optimisation du gestionnaire des tâches et l’ajout d’un cache ECPoint devraient apporter une amélioration supplémentaire des performances du client et de la vitesse de synchronisation. Neo v3.1 est également la première version à être basée sur .NET 6.0, la version LTS la plus récente et la plus rapide de Microsoft.

Neo v3.1 est sorti le 2 décembre , puis déployé sur TestNet quatre jours plus tard, le 6 décembre. Après une période d’évaluation de deux semaines, au cours de laquelle la mise en œuvre s’est avérée stable, le réseau principal N3 a été mis à niveau, le 21 décembre.


Tests en cours pour le nœud de stockage C# et le service notarial pour NeoFS

Plus récemment, le projet d’implémentation du nœud de stockage C# a été soumis et fait l’objet de tests. NGD a également porté le service notarial de Neo SPCC, une extension du protocole Neo P2P qui fournit un service de collecte de signatures. Le service aide au processus de création et de relais des transactions multisignatures et est déjà appliqué dans les opérations internes de NeoFS.

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

Fait Marquants

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

Jalons du projet

NODE

NeoGo par Neo SPCC

Parmi les travaux remarquables réalisés pour atteindre la compatibilité totale avec NeoCLI v3.1, citons la mise en œuvre de la nouvelle portée des témoins des règles, la fonctionnalité de suivi NEP-11, le suivi des contrats invoqués, entre autres. L’équipe a également effectué un test de résistance du service Oracle en novembre, produisant un rapport utilisé pour aider à informer le Neo Council de sa décision de réduire les frais de demande Oracle.

Début décembre, la version 0.98.0 a été publiée, entièrement compatible avec les dernières mises à jour de NeoCLI v3.1. Grâce à la dernière série d’optimisations, la nouvelle implémentation a atteint un niveau record de 50 000 TPS dans un test à nœud unique. D’autres améliorations comprenaient la prise en charge de plusieurs multisigs dans le sous-système notarial, diverses optimisations du compilateur, la prise en charge des hachages de script base64 dans util convert, et bien d’autres.

L’équipe a également remanié les tests pour les contrats natifs, en les ajustant pour utiliser un nouveau cadre de test ajouté avec la version native. Le framework de test permet aux développeurs d’écrire facilement leurs propres tests de contrats automatisés dans Go.

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

EXPLORER ET MONITEUR

N3 NeoTube par NEXT

La version N3 de NeoTube a reçu quelques mises à niveau mineures et corrections de bogues au cours des derniers mois. Un correctif pour un bogue qui provoquait des sauts de page logiquement désordonnés a été résolu, et le site Web a été redéployé et accéléré pour fournir un meilleur service à l’échelle mondiale.

https://neo3.neotube.io/

COMPILATEUR DE CONTRAT INTELLIGENT

Boa par COZ

Le compilateur Python de COZ a été mis à jour vers la version 0.10.1 à la fin du mois de novembre, ajoutant la prise en charge de Neo v3.1 et Python v3.9. La nouvelle version comportait de nouvelles méthodes intégrées, des propriétés de classe sur les classes créées par l’utilisateur et un certain nombre d’atténuations de défauts critiques.

https://dojo.coz.io/neo3/boa/index.html

SDK

Mamba par COZ

Comme Boa, Mamba a reçu un certain nombre d’améliorations UX en novembre et décembre. Il convient de noter en particulier une nouvelle interface client RPC, ce qui permet aux utilisateurs de Mamba de s’interfacer facilement avec les nœuds de la blockchain Neo N3. En parallèle, les membres de l’équipe ont également entrepris un certain nombre de projets exploratoires associés à de nouveaux outils, tels que la nucléation automatisée du SDK et une initiative NFT.

https://github.com/CityOfZion/neo-mamba

CADRE DAPP

Neow3j par AxLabs

La boîte à outils neow3j a reçu une série d’extensions en novembre et décembre, l’amélioration la plus notable étant l’ajout d’un nouveau cadre de test. L’infrastructure facilite la compilation et le déploiement d’un nombre illimité de contrats à des fins de test, avec prise en charge de la configuration du déploiement par programmation.

La version phare v3.14 contient également de nouvelles fonctions pour la création de scripts, la prise en charge RPC du nouveau module de suivi NEP-11 dans NeoCLI et un nouveau désérialiseur pour les paramètres de contrat. Dans le devpack, les changements notables incluent la prise en charge des tableaux multidimensionnels, la prise en charge des entiers en tant que clés dans les méthodes de stockage et les deux nouveaux opcodes pour améliorer l’efficacité de la construction de struct et de carte.

https://github.com/neow3j/neow3j


Neo Blockchain Toolkit par NGD Enterprise

La sortie du Neo Test Runner a été la principale réussite de NGD Enterprise ces derniers mois. S’appuyant sur le framework de test unitaire déjà intégré dans Neo Blockchain Toolkit, le Test Runner est un mécanisme conçu pour permettre aux développeurs non-C# d’exécuter facilement des tests unitaires sur le même moteur d’application de test que le framework de test C#. D’autres composants de Toolkit ont également reçu des mises à jour, les mettant principalement en conformité avec la version Neo v3.1.

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

Portefeuille

Neon par COZ

COZ a consacré beaucoup de travail aux versions Desktop et Mobile du portefeuille Neon. En novembre, la première version publique du portefeuille mobile compatible BIP39 a été publiée, prenant en charge Legacy et N3 au lancement. Du côté du bureau, l’intégration de la production de WalletConnect serait l’ajout le plus notable.

La mise en œuvre devrait être affinée au cours des semaines suivantes, ce qui se traduirait par l’atterrissage de la prise en charge de la portée multi-invoke et personnalisée en décembre. Cela a rendu le bureau Neon prêt pour l’intégration générale avec Neo N3 dApps. Entre-temps, l’équipe a également fait des progrès substantiels pour apporter le support de WalletConnect à la version mobile.

https://neonwallet.com/


NeoLine par NEXT

Le travail de développement du portefeuille NeoLine s’est principalement concentré sur la version mobile, où NEXT a ajouté un bouton de revendication GAS, la prise en charge de la fonctionnalité cross-chain NEP-5 et des optimisations pour la fonction de transfert NFT N3. Les optimisations pour les transferts NFT ont également été implémentées dans la version de l’extension Chrome.

https://neoline.io/

NEOFS

Neofs par Neo SPCC

Jusqu’en novembre, l’équipe Neo SPCC a publié de nouvelles versions de divers composants NeoFS, y compris le nœud v0.26.1, avec un correctif pour la base de données LOCODE, contract v0.12.1, qui a corrigé l’enregistrement du nom du conteneur, et v0.17.0 de la passerelle HTTP, qui a apporté des améliorations à la gestion des jetons de session.

D’autres mises à niveau assorties comprenaient l’implémentation d’un plugin Restic pour le backend NeoFS, et un schéma de réplication continue amélioré, et l’intégration avec NeoFS.CDN pour Send.NeoFS. L’équipe a également pris en charge le téléchargement en plusieurs parties dans la passerelle S3 et a commencé à développer des applications spécifiques au CDN.

D’autres versions des composants et services de base suivront en décembre. Une mise à jour majeure des nœuds introduirait des codes d’état de réponse et des sous-réseaux de stockage, et la version de la passerelle S3 inclurait la fonctionnalité de téléchargement en plusieurs parties aux côtés de la prise en charge CORS nouvellement ajoutée. Neo SPCC a également ajouté un module amélioré de vérification de l’état des points de terminaison dans CoreDNS, ainsi que quelques corrections de bogues et optimisations mineures dans le moteur de stockage.

https://github.com/orgs/nspcc-dev/repositories

Audit

Audit de code par Red4Sec

Red4Sec a partagé son attention entre le protocole de base et l’audit de projet d’écosystème jusqu’en novembre et décembre. Dans le premier, les problèmes dans le neo-devpack et le neo-vm ont été étudiés, et les vulnérabilités critiques qui pourraient affecter les fonds dans l’implémentation C# de NeoFS ont été résolues.

Pour les projets écosystémiques, l’équipe a appliqué ses services de test aux équipes Humswap, Flamingo et ToTheMoon. Des problèmes importants ont été découverts et résolus dans les contrats intelligents par ces deux derniers.

INITIATIVES SPÉCIALES

GrantShares DAO bêta déployé sur TestNet

Les efforts de développement sur le DAO GrantShares se sont principalement concentrés sur les contrats intelligents. Après des discussions de conception réussies, AxLabs a pris la tête de la mise en œuvre jusqu’en novembre et a réalisé plusieurs fonctionnalités: création de propositions, hachage des propositions et couverture accrue des tests.

Pour compléter l’année, l’équipe a également achevé le développement de contrats intelligents GrantShares. Notamment, une version bêta du contrat DAO a maintenant été déployée sur le Neo N3 TestNet.


Nouvelles améliorations apportées à la prise en charge de WalletConnect par COZ

Après avoir publié WalletConnect pour Neo N3 en octobre, COZ a travaillé dur pour ajouter des fonctionnalités manquantes et d’autres améliorations. Au cours des deux derniers mois, l’équipe a poussé une mise à jour pour activer de nouvelles fonctionnalités telles que les appels multiples et la gamme complète des étendues de témoins. Une attention particulière a également été accordée à la documentation pour faciliter l’intégration pour les développeurs, et la prise en charge de l’authentification via la signature a été mise en œuvre.

https://github.com/CityOfZion/wallet-connect-sdk