Neo a publié Neo-CLI v3.10.1, une mise à jour de correctif qui définit les hauteurs d’activation du hard fork Gorgon, ciblant TestNet vers le 24 juillet et MainNet le 1er août. La version corrige également un bogue du portefeuille RPC qui cassait les transferts ordinaires depuis le déploiement de la v3.10.0 sur MainNet le 26 juin.
Le hard fork Gorgon s’activera au blocage 17,960,000 sur TestNet et bloquer 12,020,000 sur MainNet. Les opérateurs de nœuds exécutant Neo-CLI doivent effectuer une mise à niveau avant ces hauteurs, sinon ils ne parviennent pas à obtenir un consensus. Aucune resynchronisation de la blockchain n’est requise pour les opérateurs qui effectuent une mise à niveau à temps.
La tarification dynamique des opcodes ouvre la voie à des transactions moins chères
Gorgon est le hard fork auquel le Neo Council s’est reporté en avril lorsqu’une proposition de réduction des frais d’exécution de 100x s’est retrouvée dans l’impasse lors d’un vote de 7 contre 7. La préoccupation à l’époque était qu’une réduction globale des frais pourrait permettre à un attaquant de verrouiller le réseau pour seulement 15 dollars. Plutôt que d’approuver la réduction, le Conseil a choisi d’attendre le modèle de tarification dynamique des opcodes de Neo SPCC, visant à rendre les transactions standard, telles que les échanges de jetons Flamingo, environ 100 fois moins chères tout en rendant les transactions malveillantes exponentiellement plus coûteuses.
Neo-CLI v3.10.0 a introduit le code de préparation Gorgon en juin mais n’a pas défini de hauteurs d’activation. La version 3.10.1 complète ce processus, en intégrant des modifications au niveau du protocole, notamment des opérations de décalage binaire corrigées, une répartition optimisée des codes d’opération de VM et une logique de vérification cryptographique mise à jour.
Correction d’un bug du portefeuille RPC
La version corrige un bug dans le sendtoaddress, sendfromet sendmany Méthodes RPC qui ont rendu les transferts de portefeuille ordinaires inutilisables sur MainNet depuis le déploiement de la v3.10.0 le 26 juin.
La cause profonde était dans le SignAndRelay méthode, qui a modifié la NetworkFee champ après la signature de la transaction, invalidant les signatures des témoins. Les utilisateurs tentant des transferts de portefeuille via RPC ont reçu InvalidSignature erreurs pendant environ deux semaines.
Le correctif réécrit SignAndRelay pour calculer les frais avant de signer, signer à nouveau si un ajustement des frais est nécessaire, valider le solde de l’expéditeur et appliquer un plafond de frais maximum. La méthode retravaillée élimine également un ancien problème de surcharge des frais. Dans le cadre de la politique de MainNet, le calcul précédent facturait systématiquement aux utilisateurs plus que le propre du protocole. CalculateNetworkFee méthode requise.
Correctifs supplémentaires et correctif de sécurité
Le plugin DeferredRelay a reçu un correctif pour un crash qui affectait les nouvelles installations de nœuds. Les nœuds avec le plugin activé rencontreraient un KeyNotFoundException au démarrage car le plugin a tenté de lire l’état du grand livre avant que le bloc Genesis ne soit conservé.
Le plugin SQLiteWallet épingle désormais SQLitePCLRaw.lib.e_sqlite3 à la version 3.53.3, traitant du CVE-2025-6965 dans les anciennes dépendances SQLite transitives. Les opérateurs de nœuds utilisant SQLiteWallet doivent effectuer une mise à niveau pour récupérer le correctif.
Révision de l’emballage de sortie
La v3.10.1 introduit un nouveau format de packaging. Les versions Linux et macOS sont désormais livrées sous la forme .tar.gz archives avec des exécutables à fichier unique et le nom des archives a été mis à jour pour inclure les numéros de version, par exemple : neo-cli.v3.10.1-linux-x64.tar.gz. Les archives contiennent un répertoire racine versionné. Les versions Windows et portables restent dans .zip format.
Calendrier de mise à niveau
Les nœuds TestNet devraient être mis à niveau à partir du 10 juillet, les mises à niveau des nœuds MainNet étant prévues pour le 28 juillet si TestNet fonctionne de manière stable. Les opérateurs effectuant une mise à niveau à partir de la v3.10.0 qui utilisent le plugin TokensTracker doivent noter que le plugin ajoute NetworkId au nom de son répertoire de stockage. Les dossiers de données existants devront peut-être être renommés pour correspondre à la nouvelle convention.
Les notes de version complètes sont disponibles sur le lien ci-dessous :
https://github.com/neo-project/neo-node/releases/tag/v3.10.1