DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»Débogage facile des contrats intelligents avec Console.log de Truffle
    Uncategorized

    Débogage facile des contrats intelligents avec Console.log de Truffle

    janvier 26, 2023
    Débogage facile des contrats intelligents avec Console.log de Truffle
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Si vous êtes un développeur Solidity, vous serez ravi d’apprendre que Truffle prend désormais en charge journalisation de la console dans les contrats intelligents Solidity. Alors que Truffle est depuis longtemps un leader dans les outils de développement de contrats intelligents, fournissant un environnement facile à utiliser pour créer, tester et déboguer des contrats intelligents, une console.log directement intégrée était une fonctionnalité dont il avait encore besoin.

    Mais pas plus! Les développeurs peuvent désormais facilement consigner les messages et déboguer leurs contrats intelligents, le tout dans l’environnement familier Truffle (Ganache). Voyons comment.

    Qu’est-ce que Console.log?

    Console.log est une fonctionnalité très populaire de JavaScript et largement utilisée par les développeurs pour générer facilement des messages de journalisation et extraire des détails directement à partir du code. Dans le cadre du développement du Web3 et des contrats intelligents, console.log joue un rôle similaire, permettant aux développeurs d’imprimer des variables de solidité et d’autres informations à partir de leurs contrats intelligents.

    Par exemple, vous pouvez utiliser console.log pour afficher la valeur d’une variable ou la sortie d’un appel de fonction dans votre contrat intelligent. Cela peut être extrêmement utile lors du débogage ou du test de votre contrat intelligent.

    console.log("Console Logging: The Smart Contract Developer's Best Friend");

    Comment utiliser la journalisation de la console dans Truffle

    Faire usage de console.log est assez simple. Tout d’abord, vous devrez vous assurer que vous disposez d’une version à jour de Truffle en cours d’exécution sur votre ordinateur. Si vous rencontrez des problèmes, vous pouvez désinstaller entièrement le package, puis le réinstaller. Pour les commandes utilisées dans ce post, nous utiliserons NPM en tant que notre gestionnaire de paquets.

     $ npm install -g truffle

    Après une installation réussie, je vous suggère de modifier le fichier de configuration de truffle (c’est-à-dire truffle-config.js) comme suit:

    module.exports = {
      . . .
      solidityLog: {
        displayPrefix: ' :', // defaults to ""
        preventConsoleLogMigration: true, // defaults to false
      }

    • displayPrefix: décore les sorties de console.log pour le différencier des autres contenus affichés par la CLI.
    • preventConsoleLogMigration: empêche les déploiements de contrat de se dérouler lorsqu’ils sont sur un test ou un réseau principal. Vous pouvez désactiver cette option si vous souhaitez déployer votre contrat avec le console.log inclus. Cependant, si vous choisissez de le faire, gardez à l’esprit que console.log a un comportement imprévisible en ce qui concerne l’utilisation du gaz.

    Vous êtes maintenant prêt à l’essayer ! Importez le contract.sol contrat dans votre code Solidity comme d’habitude. Vous êtes maintenant prêt à utiliser le console.log() commande comme vous le feriez en JavaScript.

    Cela inclut l’utilisation de substitutions de chaînes telles que %s et %f.

    pragma solidity ^0.8.9;
    import "truffle/console.sol";
    contract BookStore {
      //...
    
      function transfer(address to, uint256 amount) external {
        console.log("Transferring %s tokens to %s", amount, to);
    
        require(balances[msg.sender] >= amount, "Not enough tokens");
    
        balances[msg.sender] -= amount;
        balances[to] += amount;
    
        emit Transfer(amount, to, msg.sender);
      }
    }

    La fonction de transfert ci-dessus montre console.log en action. Imaginez un appel au transfer fonction défaillante avec le Not enough tokens Erreur. Les console.log ligne, dans ce cas, affichera le nombre de jetons que l’appel essaie de transférer. Cela permet au développeur de voir adresse et quantité de jetons transférés. Le message ressemblera à ceci.

    ...
    Transferring 10 tokens to 0x377bbcae5327695b32a1784e0e13bedc8e078c9c

    Une meilleure façon de déboguer cela pourrait être d’ajouter dans le balances[msg.sender] à la console.log relevé ou imprimez-le sur une ligne distincte. De cette façon, le solde de l’expéditeur est également visible dans la console. Tu obtiens le point!

    Vous pouvez également laisser des journaux dans les réseaux de test et principaux ; de cette façon, vous aurez une belle façon d’observer votre contrat intelligent. Et il convient de mentionner que des outils comme Tenderly intégreront la suppression des journaux, ce qui peut être utile lors du débogage et du test de contrats intelligents dans un environnement de production.

    Enfin, lorsque vous utilisez la journalisation de la console, il est important de suivre toutes les bonnes règles d’utilisation que vous connaissez déjà, telles que l’utilisation de messages de journal clairs et descriptifs. Cela facilitera la compréhension de la sortie et l’identification des problèmes qui pourraient survenir.

    Autres outils de débogage dans Truffle

    Bien que la journalisation de la console soit un outil puissant pour déboguer les contrats intelligents, gardez à l’esprit que Truffle propose également d’autres outils de débogage. La truffe a un puissant intégré outil CLI de débogage qui peut être utilisé pour parcourir l’exécution d’un contrat intelligent et inspecter l’état des variables à différents points de l’exécution. En outre, événements sont un bon moyen de consigner les messages et de suivre le comportement d’un contrat intelligent.

    Cela dit, il convient de noter que l’utilisation du débogueur pour quelque chose d’aussi simple que la sortie variable peut être exagérée. De même, la journalisation des événements ne fonctionne que lorsque la transaction réussit, ce qui peut être une limitation dans certaines situations.

    L’essentiel est que le console.log fonctionnalité – en combinaison avec les autres outils de débogage de Truffle – peut offrir une meilleure expérience de développement grâce à sa simplicité et facilité d’utilisation. Il donne aux développeurs la possibilité de consigner rapidement et facilement les messages et de surveiller le comportement de leurs contrats intelligents, tandis que les autres outils de débogage peuvent être utilisés pour un débogage et un dépannage plus avancés.

    Essaye le

    La nouvelle fonctionnalité de journalisation de la console de Truffle est un ajout précieux au développement de contrats intelligents. Il est facile à utiliser et peut rationaliser le processus de débogage et de test. La possibilité de consigner les messages et de suivre le comportement des contrats intelligents en temps réel peut réduire les inefficacités et les maux de tête. C’est un excellent outil à avoir dans votre boîte à outils.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.