NEO Rapport Mensuel Global

Avril 2020

NEO Rapport Mensuel Global

Fait Marquants

Avril a apporté une nouvelle étape concrète vers Neo3, avec la sortie de la Preview2. La nouvelle version apporte avec elle de nombreuses améliorations, incluant des mises à jour de NeoVM avec une efficacité augmentée jusqu’à 16x.

Le système de smart contract a également reçu de nombreuse mises à jour, comme les nouveaux contracts IDs, qui permettent de s’affranchir de migrer les données durant une mises à jour de contrat, des contrôles de permissions au niveau du manifest et du contrat, et de nouvelles fonctionalités telles que le JSON parsing et les requêtes de balance de GAS.

La sortie de la Preview2 de Neo3 a ainsi pour but d’accélérer le développement des outils de Neo3 et de permettre à la communauté de commencer la migration des outils existants.

Tandis que les communautés autour du globe continuent de s’adapter à la vie dans un monde sans le COVID-19, de nombreux évènements ont été transformé vers des évènements virtuels. Ce fut le cas pas exemple de BlockDown 2020, durant lequel un des fondateurs de Neo, Da Hongfei, a délivré une présentation.

Durant son discours, intitulé Blockchain in a Post-Pandemic World, Hongfei s’est concentré sur comment la blockchain pouvait résoudre des problèmes relatifs à la pandémie du coronavirus. Il a également discuté de certaines nouvelles fonctionnalités de Neo3, et a donné une mise à jour concernant les progrès de Neo sur le protocole d’interopérabilité cross-chain.

Enfin, Avril a vu la Fondation Neo publier son rapport financier pour 2019, qui inclut tous les détails relatifs aux dépenses et aux avoirs gérés par la fondation. La Foundation Neo a rapporté des dépenses totales de 1,760,015 NEO en 2019 dans divers zones de l’écosystème Neo et a terminé l’année avec environ US $449,970,190 d’actifs en gestion.

Le rapport mensuel complet peut être touvé ci-dessous.

DEVELOPPEMENT DU PROTOCOLE

DEVELOPPEMENT DU PROTOCOLE

Aperçu

En Avril, NEO a délivré plusieurs améliorations majeures à l’architecture, la performance et la sécurité de Neo3, avec la sortie de la Preview2. Ce nouveau jalon procure un framework de développement complet pour Neo3. De plus, le travail est en cours pour la finalisation de l’implémentation du nouveau mécanisme de gouvernance, et la plupart du développement relatif à l’Oracle intégré est complété.

Les membres de l’écosystème Neo ont aussi aidé à déterminer un nouveau modèle économique, ayant pour but de fournir plus d’incitatifs pour encourager la participation aux activités “on-chain”.

DEVELOPPEMENT DU PROTOCOLE

Neo3

NEO CORE

  • Ajout de GetCallFlags
  • Ajout du syscall GetLeft
  • Ajout de “Stateless” à “CallFlags”
  • Ajout de StackItem.ToJson
  • Call _initialize() ajoute automatiquement un vote au comité
  • Ajout du “burn syscall fee”
  • Syncronisation des opcodes try-catch
  • Mis à jour de akka vers 1.4.2
  • Envoi de “RelayResult” au “event stream”
  • Limitation de la hauteur de bloc maximum pour certains syscalls
  • Optimisation du wallet UT
  • Mise en cache du bloc le plus récent
  • Remplacement de THROWIFNOT par ASSERT
  • Suppression du “grouping”
  • Correction de l’erreur de configuration de plugin
  • Correction pour le changement de mot de passe de portefeuille NEP-6
  • Correction du Datacache
  • Correction du CallFlags
  • Correction UT pour les modifications de manifest
  • Correction d’un bug dans le contrat “update/destroy”
  • Correctif du “BigInteger0 storage” qui retournait null
  • Tests de couverture PR maintenant à 62.5%
  • Développement d’un outil d’automatisation de neo-cli v3.0.0-preview2, avec un temps d’exécution optimisé de 33%

NEO-VM

  • Ajout de “public LoadClonedContext”
  • Ajout des tests pour les instructions KEYS et VALUES
  • Ajout de TryPopInterface
  • Ajout des opcodes ASSERT et ABORT
  • TryPop ne devrait pas changer l’état du stack lorsqu’il retourne “false”

ORACLE

  • Ajout du service d’Oracle
  • Ajout de tests JSON
  • Optimisation du filtre de paiment
  • Autorisation de définir le type de contenu dans la police
  • Autorisation du filtrage dans le même contrat
  • Amélioration des filtres avec argument
  • Améloration de l’expérience utilisateur
  • Changement de nom de OracleResult à OracleResponse
  • Déplacement des syscall Oracle vers un contrat natif Oracle
  • Suppression de snapshot du “mempool iterator”
  • Création du certificat UT
  • Ajout de l’invocation d’Oracle
  • Ajout du numéro de version au pool
  • Mise à jour des syscall
  • Messages d’erreur de sortie
  • Correctif d’un bug du portefeuille
  • Correctif des filtres de hash

CROSS CHAIN

  • Ajout de messages d’état P2P
  • Ajout de MPT
  • Ajout du workflow 2.x
  • Ajout du type de version
  • Stockage du “root hash” actuel
  • Suppression de la limite de valeur
  • Application du MPT aux stockages et aux “persist roots”
  • Correctif du MPT et des clés longues
  • Neo3: Développement complété et la phase actuelle est la phase de tests finaux.

NEO-NODE

  • Ajout de “StackItem ToJson”
  • Adaptation du dockerfile aux changements de code récents
  • Refactorisation des commandes de noeud

NEO-MODULES

  • Correctifs de bugs dans le contract destroy
  • Adaptation de RpcClient pour les modules
  • Mise à jour vers les derniers nugets
  • Suppression de GetBlockSysFee des RPC
  • Correctifs du systemlog

NEO-DEVPACK-DOTNET

  • Ajout de Runtime.GasLeft()
  • Ajout du spport pour les “static string array”
  • Ajout de fonctionnalités au project template.csharp
  • Optimisation des règles combinées
  • Optimisateur: optimisation de EQUAL
  • Sortie de neo v3.0.0-preview2
  • Mise à jour des opcodes
  • Mise à jour des nugets
  • Suppression de scripts “hardcoded”
  • Désactivation de messages d’avertissement
  • Ajout du template NEP-5 pour Neo3
  • Résolution des messages Visual Studio
  • Utilisation des attributs C# pour remplir les propriétés extra du manifest
  • Résolution du nombre de NEWARR
  • Résolution d’UT

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

INFRASTRUCTURE & DEVELOPPEMENT DES OUTILS

Aperçu

Depuis la sortie de Neo3 Preview2, les communautés de développement qui se concentrent sur les outils vitaux et l’infrastructure ont désormais les moyens de travailler sur les prochaines étapes de l’évolution de Neo. Durant le mois d’Avril, les équipes ont continué d’avancer en mettant à jour les outils existant pour fonctionner avec Neo3, avec notamment neon-js et neo-python de COZ et le debugger de contrat de NEL.

Pendant le mois d’Avril, NGD Seattle a travaillé en collaboration étroite avec l’équipe d’Azure Blockchain de Microsoft tout en développant le Visual Token Designer, qui sera annoncé avec le nouveau “time-travel debugger” durant Consensus Distributed 2020. L’équipe s’est aussi surpassé pour améliorer le Neo Blockchain Toolkit, en travaillent sur l’adaptation de Neo3 et sur comment faciliter la communauté polyglotte de Neo, avec le support de Go, Python, et TypeScript.

Neo St Petersburg a également bien progressé durant Avril. L’équipe a surveillé de près les développements de Neo3 et l’implémentation en C#, en portant les changements et les nouvelles fonctionnalités vers NeoGo, incluant les contrats natifs, le nouveau format P2P, et les nouveaux opcodes VM. Les progrès constants de Neo SPCC sur la version Neo3 de son nœud Go ont ouverts la possibilité au MainNet Neo3 d’être lancé comme un réseau multi-client pour une meilleure résilience.

Les détails complets relatifs à l’infrastructure pour Avril et le développement des outils peut être trouvé ci-dessous.

NGD SHANGHAI

Neo-CLI

  • Sortie de Neo-CLI v3.0.0-preview2 et mis à jour du réseau de test.

Neo-GUI

  • Publication d’une nouvelle version de Neo3-GUI avec la Preview2 de Neo3, incluant fonctionnalités de base.

Documentation

  • Publication d’un guide de développement sur Neo3 Preview2 pour les développeurs qui veulent utiliser Neo3.

NGD SEATTLE

Expérience Développeur Développement de produits

  • Développement en cours pour le Time-Travel Debugger, un produit pionnier.
  • Développement en cours pour le Visual Token Designer, un travail collaboratif avec l’équipe Azure Blockchain de Microsoft.
  • Adaptation de Neo3 pour Neo Express (privatenet), Neo Toolkit pour .NET, et Visual DevTracker.

Évènements et partenariats

  • A rejoint le “Cloud Credential Council” pour une session sur le leadership en blockchain.
  • Travail avec l’équipe d’Azure Blockchain et l’IEEE Blockchain. Plus de détails seront partagés durant le Consensus Distributed 2020.
  • Participation au Reimagine2020 et partage des derniers progrès de Neo relatifs a l’expérience développeur.

NEO SPCC

NeoFS

  • Ajout de la sortie correct des nœuds de stockage depuis le “network map” à la requête de leur propriétaire.
  • Changements divers dans l’API C# pour supporter la sortie de NeoFS 0.7.x.
  • Versions de NeoFS API: v0.5.0, v0.6.0, v0.6.1, v0.7.0, v0.7.1, v0.7.2, v0.7.3 (https://github.com/nspcc-dev/neofs-api/blob/master/CHANGELOG.md).
  • Versions de NeoFS Golang API: v0.6.0, v0.6.1, v0.6.2, v0.7.0, v0.7.1 (https://github.com/nspcc-dev/neofs-api-go/blob/master/CHANGELOG.md).
  • NeoFS API pour C# a été publié sur un GitHub repository (https://github.com/nspcc-dev/neofs-api-csharp).
  • Complétion des code de status de service d’Object (codes d’erreurs).
  • Refactorisation de NeoFS HTTP Gate.
  • Un nouveau concept de NeoFS Inner Ring nodes, intégré profondément avec la blockchain Neo, et qui fonctionne basé sur des smart contracts Neo.
  • Préparation pour la transition des fonctions NeoFS Inner Ring vers des smart contract Neo. (Statistiques pour les contrats: network map contract, epoch contract, et container contract).
  • Architecture détaillée pour l’utilisation des session token dans le service object de NeoFS.
  • Implémentation d’InnerRingUpdate smart-contract caller via neo-go RPC client dans le système de réputation Inner Ring.
  • Ajout du support pour l’opération d’object PUT object, avec moins de copies que déclarées dans la police de stockage par une requête d’utilisateur.
  • Implémentation de recus de paiement pour stocker dans DHT au lieu du stockage local Outer Ring.
  • Refactorisation de NeoFS Web Services (ajout des fonctions de dépot de NeoFS, suppression des dépendances neo-scan et neon-js).
  • Modification du système de réputation des noeuds.

NeoGO

  • Implémentation des contrats natifs de Neo3.
  • Support de Neo-debugger.
  • Début de l’implémentation du nouveau format P2P (nouveau format de transaction) pour Neo3.
  • Changement du format de bloc pour Neo.
  • Déplacement de crypto de VM vers interops pour Neo3.
  • Ajout de l’initialisation des interops natifs dans le bloc genesis.
  • Implémentation de nombreux opcodes pour Neo3 VM; parties complètes: PUSH opcodes, flow-control opcodes (JMPs), Array/Struct/Map opcodes, CONVERT, mis à jour des opérations arithmétiques/bitwise, certains anciens opcodes ont également été supprimé.
  • Changement des scripts de vérification pour utiliser les nouveaux syscall au lieu des instructions.
  • Les notifications pour Neo3 sont en cours; la partie transport (WebSockets) est compléte.
  • Ajout du décodage partiel des messages de consensus.
  • Utilisation d’un ID de 4-byte pour les syscall au lieu d’un string

Évènements

  • Participation au Binance Online Super Meetup et présentation des progrès relatifs à NeoFS.

COZ

Neo3-python

  • Conversion de C# BigInteger et des tests vers C++ pour un usage dans la VM.
  • Création de Python bindings pour le portage de BigInteger.

Neo2-explorer

  • Finalisation des prototypes design/produit.
  • Travail sur les éléments fondamentaux.
  • Implémentation de la logique / couche HTTP.
  • Création de la documentation OpenAPI3 pour tous les endpoints disponibles.

Neo3-explorer

  • Mis à jour du plugin DynamoDBPublisher neo-node pour supporter les changements de SDK de la Preview2.
  • Création des nouvelles tables AWS DynamoDB pour l’explorateur de la Preview2.
  • Configuration d’un nouveau nœud Preview2 sur une instance AWS EC2.
  • Déploiement des nouveaux endpoints REST sur AWS pour le TestNet de la Preview2.

Neon-js

  • [Neo2/Neo3] Suppression des règles de camelcase rule pour la configuration linter.
  • [Neo3] Mise à jour du RPC vers 3.0.0-preview2-00.
  • [Neo3] Ajout d’interfaces JSON pour les objets blockchain.
  • [Neo3] Mise à jour de compte single sig.

Neo-boa

  • Génération du fichier ABI
  • Recherches concernant le support “type hinting” de Python
  • Tests de la génération du fichier debug map
  • Début de l’implémentation d’une liste des méthodes de smart contract et des variables

Neo3-boa

  • Recherches concernant l’implémentation de Python AST
  • Création de la structure initiale de projet neo3-boa
  • Implémentation de la traduction des fonctions de Python
  • Début de la recherche sur comment utiliser Neo VM pour les tests d’intégration de neo-boa
  • Début de l’implémentation de la traduction des variables locales, des déclarations, et des attributions
  • Début de la génération du format de fichier Neo3 et des metadata

Neon Wallet

  • QA manuel et tests de régression de la release candidate.
  • Sortie de la version version 2.5.0.
  • Ajout de la langue Russe.

Sécurité/support de Discord

  • Amélioration du plugin Discord pour faciliter les bans massifs de spambots.
  • Ban/prévention de 4740 spambots de joindre le Discord Neo.
  • Amélioration du plugin Discord pour traquer des faux comptes admin qui changent de username.
  • Création d’une base de données MongoDB pour faciliter les efforts de détection des spammer/scammer.
  • Développement de multiples scripts d’aides pour aider à détecter de nouveux faux comptes.
  • Amélioration du plugin Discord pour surveiller GitHub pour les repositories malveillants relatifs à Neo.

NEXT

NeoLine portefeuille mobile

  • Mise à jour Android (dernière version 2.1.3).
  • Mise à jour iOS (dernière version 2.1.0).
  • Ajout d’outil AMA.
  • Ajout d’outils de lotterie.
  • Amélioration du contenu de langue localisé.
  • Mis à jour des rappels de transfert.
  • Optimisation des requêtes de réseau local.
  • Correction de bugs.

NeoTube

  • Optimisation des requêtes SQL, augmentation du cache de données, et réutilisation des résultats de requêtes.
  • Mise à jour de la configuration du nœud.

Développements écologiques de Neo

  • Publication en open-source de l’analyse “squirrel block” et du programme de stockage pour Neo2.x: https://github.com/NeoNextClub/squirrel.
  • Le support des NFT est en cours de développement et sera bientôt lancé.
  • Ajustements relatifs au déploiement de nœud complet Neo: nouveaux nœuds seed US et Hong Kong.
  • Le nombre d’actifs supportés sur le MainNet a augmenté à 153.
  • Le nombre d’actifs supportés sur le TestNet a augmenté à 1992.

NEWECONOLABS

NeoRAY

  • Ajout de la fonction d’import de template de contrat, les nouveaux développeurs peuvent apprendre à écrire des spécifications de contrat en chargeant rapidement des templates de contrats.
  • Ajout du language du compilateur et sélection de version pour la compilation de contrat. Ajout d’une page de détails de compilation, où il est possible de voir les informations importantes du contrat après compilation (AVM, ABI, manifest, NEF…).
  • Le statut de déploiement d’un contrat sera maintenant verifié après que le contrat ait été déployé. Si le contrat actuel compilé a été déployé sur le réseau, le bouton pour déployer le contrat affichera désormais “Contrat a été déployé”. Si non déployé, le bouton affichera “Déployer ce contrat”.
  • Deux nouvelles méthodes: ajout des paramètres ABI et remplissage manuel des paramètres lors de l’appel d’un contrat. NeoRAY évaluera si le code du contrat suit les recommendations de Neo en termes de spécifications. Si il suit les spécifications, vous pouvez utiliser les paramètres ABI pour rapidement appeler le contrat, et les contrats qui ne respectent pas les spécifications peuvent seulement être remplis manuellement.
  • Unification des méthodes de gestion de fichier et suppression des catégories importées et déployées. Les codes de contrat créé ou importé sont sauvegardés localement, et les utilisateurs peuvent voir leur historique d’import lorsqu’ils importent des contrats avec un hash.
  • Différentiation des fichiers de contrat de Neo3 et Neo2, et les fichier de code ne sont plus partagés.

NEOW3J

Neo3

  • Refactorisation et organisation de la documentation neow3j, séparation des sections Neo2 et Neo3
  • Ajustement du modèle de portefeuille pour Neo3 (NEP-6)
  • Unification de l’interface d’interaction avec le contrat est finalisé (NeoToken class)
  • En cours: Implémentation de NEP-9
  • En cours: tests unitaires/d’intégration JSON-RPC pour Neo3
  • Participation aux discussions sur le modèle de gouvernance de Neo3, en pesant les pour et les contre

Neo 2.x

  • Ajout officiel du support pour les applications basées sur Kotlin
  • Tests de la nouvelle librairie neow3j library avec des projets Kotlin
  • Création et publication de certains exemples de neow3j dans un projet Kotlin sur GitHub

Neow3j-compiler & neow3j-devpack

  • Modules créés sur la structure du code de neow3j (develop-3.x branch)
  • Début du travail concernant le map des classes requises pour le devpack (pour annoter les smart contract utilisant Java)

ALIENWORKS

Monitors

  • neonodes.io
    • Ajout du module de broadcast rawmempool basé sur signalr core.
    • Ajout et mis à jour de Nswagger.
    • Ajout du module RawMemPoolDataCache.
    • Reconstruction de NodeSynchronizer & d’autres codes basés dessus.
  • neostate.io
    • Mise à jour de block controller&service et du filter service.
    • Ajouts des packages redis et des outils d’aide.
    • Ajout de méthodes auxiliaires à des fins de tests.
    • Mis à jour de ChartFilterViewModel.
    • Correctifs d’erreurs du frontend.

Tutoriaux

  • C#
    • Traduction de tous les cours C#.
    • Mis à jour de Ch04&05&07&08 en accord avec les commentaires.
  • TypeScript
    • Traduction de tous les cours typescript.
    • Mis à jour des script pour L01&L02 et du contenu.
    • Mise à jour du contenu des lessons en accord avec les commentaires.

Intégration de Neo3

  • neostate.io
    • Refactorisation du module state en utilisant redis.
    • Ajustements concernant les types de transaction en accord avec Neo3.

MARKETING & OPERATIONS

MARKETING & OPERATIONS

Aperçu

En avril, la majorité des activités marketing de Neo ont été concentré sur la sortie de la Preview2 pour Neo3. Neo en a profité pour s’adresser à toute la communauté et leur communiquer les fonctionnalités et améliorations, pour que les nouveaux développeurs ainsi que ceux actuels puissent être à jour concernant le développement de l’infrastructure.

Neo a également fait sa première conférence publique de l’année durant la conférence virtuelle BlockDown 2020, où Da Hongfei a partagé sa vision de ce que la blockchain pouvait apporter au monde après la pandémie du coronavirus.

MARKETING & OPERATIONS

Evènements Marketing

08

Neo et l’Université de Zurich, la plus grande université de Suisse, ont établi un partenariat pour promouvoir l’apprentissage des technologies blockchain, la recherche, et l’utilisation en Europe.

09

La fondation Neo a publié son rapport financier pour 2019.

13

Da Hongfei a été invité par CoinTelegraph a délivré une vidéo sur “Comment les entreprises ont réagi au COVID-19 et comment la pandémie est en train de modifier l’industrie?”

16

Da Hongfei a été invité à parler au BlockDown 2020 et a délivré une présentation en ligne sur comment la blockchain pouvait aider à résoudre certains problèmes qui résulteraient de la pandémie du coronavirus.

21

Neo a sorti la Neo3 Preview2 pour permettre de fournir aux développeurs des fonctionnalités optimisées et de nouvelles capacités.

23

Luchuan, NGD Proposal Group manager a rejoint le Neo Live sur WeChat pour partager un aperçu de la perfomance de Neo3 Preview2.

23

John deVadoss, de NGD Seattle, a rejoint Neo Live pour partager certains conseils relatifs à la Neo3 Preview2.

MARKETING & OPERATIONS

Communauté

TWITTER
FACEBOOK
REDDIT
DISCORD
MEDIUM
YOUTUBE
WECHAT
WEIBO

CROISSANCE DE L'ECOSYSTEME

CROISSANCE DE L'ECOSYSTEME

Mises a jour

L’écosystème Neo a continué de grandir dans de nombreux aspects. Du côté de la DeFi, Switcheo et Liquefy ont amélioré leurs services de DEX et de STO. D’autres entités ont essayé d’améliorer la quantité de serices disponibles dans l’écosystème, avec NeoLine qui souhaite rajouter le support des NFT, et Archon et Incognito qui fournissent des services de transaction privée et de cloud. De plus, un nouveau jeu blockchain a déjà prévu d’intégrer les services de Higgs Network et de NeoFS pour délivrer une expérience utilisateur plus optimale.

  • Switcheo a sorti le Testnet pour Switcheo Chain et a ouvert les “market making permissions” aux tierces parties.
    Switcheo a officiellement annoncé Switcheo Tradehub. Switcheo Tradehub est un “open-source dPOS order matching engine” construit sur Tendermint Core. Le nombre d’attaques potentielles est minimisée car seulement certains “execution paths” sont autorisés. Switcheo TradeHub aspire à atteindre une vraie décentralisation sans affecter l’évolutivité et la sécurité.
  • Liquefy a publié un document consortium avec Sidley Austin, KPMG et Colliers International. Le document couvre le cycle de vie, la supervision, la valeur et les implications relatives aux impôts pour les “real estate-backed tokenized securities”, en plus de fournir des études de cas, des challenges et des opportunités. Son but est de promouvoir la tokenization de l’immobilier pour permettre une plus grande adoption.
  • Archon, supporté par le Neo EcoFUnd, a sorti les fonctions basiques pour le produit centralisé Archon Cloud Service – une solution de stockage dans le cloud avec un coût de 1/5 celui d’Amazon.
    Incognito a implémenté des transactions privées Neo de niveau 2 et a prévu de s’interfacer avec le portefeuille O3 pour fournir aux utilisateurs O3 des transactions privées sur Neo.
  • Le jeu blockchain “Tian Tian You Yu” sera testé sur le réseau NEO durant le Q2. Dans le futur, Higgs Network et NeoFS seront intégés pour fournir aux utilisateurs une meilleure expérience de jeu blockchain.
  • Le portefeuille NeoLine va démarrer le développement de son explorateur NFT, qui a pour but d’aider les projets NFT de l’écosystème Neo à être plus facilement échangeables.

LIQUIDITE

LIQUIDITE

Echanges