COZ a annoncé la sortie de neo-boa v0.7.0, un compilateur pour les contrats intelligents Neo écrit dans Python. La mise à jour apporte avec elle deux nouvelles fonctionnalités conçues pour permettre aux développeurs Python de bénéficier des nouveaux outils disponibles dans la boîte à outils Neo Blockchain de NGD Seattle pour VS Code.

Plus particulièrement, la mise en œuvre permet aux contrats Python d’utiliser le nouveau débogueur Neo, un élément clé de la boîte à outils Neo Blockchain. Le débogueur fonctionne grâce à l’utilisation d’un fichier d’informations de débogage spécial, créé lors de la compilation par les compilateurs qui supportent le format.

Le format fonctionne en associant chaque opcode du script AVM compilé à un objet Method, stockant des détails tels que les informations de type pour les paramètres, les variables et les valeurs de retour. Les adresses Opcode sont également mappées au code source, qui, couplée au démontage à venir, donnera aux développeurs la possibilité de passer à travers le code à partir des deux perspectives.

L’intégration du format de débogage dans le néo-boa a été proposée et mise en œuvre par Harry Pierson de NGD Seattle, qui a également dirigé le développement des nouvelles capacités de débogage dans le temps récemment annoncées à Consensus: Distributed.

Génération ABI

Visual DevTracker est un guide d’interface pour la création et l’exécution d’instances, de portefeuilles et de déploiement ou d’interaction avec des contrats Neo sur un réseau de test privé. Il a été créé pour être inclus dans le cadre de la boîte à outils Neo Blockchain pour VS Code, le premier outil construit par NPD Seattle.

Certaines de ses fonctionnalités, telles que l’interface utilisateur d’invocation de contrat, sont alimentées par un fichier abi.json distinct, initialement uniquement généré par le compilateur de base Neon pour les contrats C#. Suite à la nouvelle mise à jour, les contrats Python compilés par neo-boa émettront également le fichier abi, ce qui le rend pratique d’accéder à plus d’outils disponibles dans la boîte à outils.

La spécification de format de fichier peut être trouvée ici.

Afin de spécifier les méthodes d’inclusion dans le fichier abi, les développeurs Python peuvent désormais utiliser l’un des deux décorateurs pour identifier le point d’entrée et les méthodes individuelles. Les décorateurs sont également utilisés pour déclarer les types de paramètres et de retour pour chaque fonction.

En plus de son utilisation pour l’invocation de contrat par l’intermédiaire du DevTracker, le fichier abi.json est également utilisé pour fournir des métadonnées contractuelles. Dans la mise en œuvre actuelle, la prise en charge de la peuplement automatique de ces champs n’est pas incluse dans le néo-boa.

Toutefois, le DevTracker détecte lorsque des métadonnées n’ont pas été fournies lors de la tentative de déploiement d’un contrat et invite l’utilisateur à ajouter ces informations si vous le souhaitez dans l’interface utilisateur de déploiement.