第4课

Remix Debugger & Aperçu avancé des gaz

Avant d'aborder l'optimisation sophistiquée, il est essentiel de comprendre comment utiliser correctement le Remix Debugger. Le débogueur offre des informations détaillées sur chaque opération, ce qui en fait un outil essentiel pour découvrir les inefficacités en matière de gaz dans votre code.

Lancement du débogueur

  1. Dans Remix, déployez un contrat ou exécutez une transaction.

  2. Allez dans la liste des transactions (dans l'onglet Déployer & Exécuter ) et cliquez sur l'icône "bug" à côté de la transaction qui vous intéresse. Ceci lancera le débogueur.

Utilisation du débogueur

Une fois que vous êtes dans le débogueur :

  1. Navigation : Utilisez les boutons de commande pour naviguer dans chaque opération de votre transaction. Vous pouvez passer au-dessus, à l'intérieur ou à l'extérieur des fonctions et sauter à une étape particulière.

  2. Panneau Détails : Ce panneau affiche les détails de l'opcode, l'étape d'exécution en cours et d'autres détails pertinents.

  3. Solidity Locals : Affiche les variables locales de Solidity et leurs valeurs actuelles.

  4. État : Affiche les changements d'état du contrat. C'est un excellent moyen d'identifier les changements inattendus qui peuvent entraîner une augmentation des frais d'essence.

  5. Pile d'appels : Illustre la pile d'appels de la fonction en cours. Utile pour comprendre le contexte d'exécution actuel.

  6. Changements de stockage : Met en évidence les modifications apportées au stockage au cours de l'exécution. Utile pour identifier les domaines potentiels d'optimisation du gaz.

Profiler avec le débogueur pour mieux comprendre le gaz

Le débogueur ne sert pas seulement à corriger les bogues ; c'est aussi un excellent outil pour établir le profil de l'utilisation du gaz de votre contrat. Voici comment vous pouvez en tirer le meilleur parti :

  1. Identifiez les étapes à forte consommation de gaz : Au fur et à mesure que vous avancez dans votre code, surveillez la consommation de gaz à chaque étape. Les étapes à forte teneur en gaz pourraient être des cibles d'optimisation.

  2. Surveillez les actions de stockage : Les changements de stockage excessifs, en particulier ceux qui ne sont pas supprimés, peuvent être des consommateurs de gaz.

  3. Appels de fonctions : Les appels de fonctions externes, en particulier vers d'autres contrats, peuvent être coûteux. Assurez-vous qu'ils sont nécessaires.

Exemple de pratique

Utilisons le Remix Debugger avec un contrat simple :

Solidity
pragma solidity ^0.8.9 ;

contract GasProfiler {
 uint256 public count ;

 function setCount(uint256 _count) public {
 for (uint256 i = 0 ; i < _count ; i++) {
            count += i;
        }
    }
}
  1. Déployez et interagissez avec le contrat dans Remix.

  2. Utilisez le débogueur sur la fonction setCount et identifiez les opérations gourmandes en gaz. Ici, l'opération en boucle consommera plus de gaz au fur et à mesure que _count augmente.

Conclusion

Comprendre et tirer le meilleur parti de Remix Debugger est une compétence qui vous aidera non seulement à diagnostiquer les problèmes, mais aussi à affiner votre contrat pour qu'il soit économe en gaz. En parcourant votre code, vous pouvez repérer des inefficacités qui pourraient ne pas être apparentes à un niveau plus élevé.

免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。
目录
第4课

Remix Debugger & Aperçu avancé des gaz

Avant d'aborder l'optimisation sophistiquée, il est essentiel de comprendre comment utiliser correctement le Remix Debugger. Le débogueur offre des informations détaillées sur chaque opération, ce qui en fait un outil essentiel pour découvrir les inefficacités en matière de gaz dans votre code.

Lancement du débogueur

  1. Dans Remix, déployez un contrat ou exécutez une transaction.

  2. Allez dans la liste des transactions (dans l'onglet Déployer & Exécuter ) et cliquez sur l'icône "bug" à côté de la transaction qui vous intéresse. Ceci lancera le débogueur.

Utilisation du débogueur

Une fois que vous êtes dans le débogueur :

  1. Navigation : Utilisez les boutons de commande pour naviguer dans chaque opération de votre transaction. Vous pouvez passer au-dessus, à l'intérieur ou à l'extérieur des fonctions et sauter à une étape particulière.

  2. Panneau Détails : Ce panneau affiche les détails de l'opcode, l'étape d'exécution en cours et d'autres détails pertinents.

  3. Solidity Locals : Affiche les variables locales de Solidity et leurs valeurs actuelles.

  4. État : Affiche les changements d'état du contrat. C'est un excellent moyen d'identifier les changements inattendus qui peuvent entraîner une augmentation des frais d'essence.

  5. Pile d'appels : Illustre la pile d'appels de la fonction en cours. Utile pour comprendre le contexte d'exécution actuel.

  6. Changements de stockage : Met en évidence les modifications apportées au stockage au cours de l'exécution. Utile pour identifier les domaines potentiels d'optimisation du gaz.

Profiler avec le débogueur pour mieux comprendre le gaz

Le débogueur ne sert pas seulement à corriger les bogues ; c'est aussi un excellent outil pour établir le profil de l'utilisation du gaz de votre contrat. Voici comment vous pouvez en tirer le meilleur parti :

  1. Identifiez les étapes à forte consommation de gaz : Au fur et à mesure que vous avancez dans votre code, surveillez la consommation de gaz à chaque étape. Les étapes à forte teneur en gaz pourraient être des cibles d'optimisation.

  2. Surveillez les actions de stockage : Les changements de stockage excessifs, en particulier ceux qui ne sont pas supprimés, peuvent être des consommateurs de gaz.

  3. Appels de fonctions : Les appels de fonctions externes, en particulier vers d'autres contrats, peuvent être coûteux. Assurez-vous qu'ils sont nécessaires.

Exemple de pratique

Utilisons le Remix Debugger avec un contrat simple :

Solidity
pragma solidity ^0.8.9 ;

contract GasProfiler {
 uint256 public count ;

 function setCount(uint256 _count) public {
 for (uint256 i = 0 ; i < _count ; i++) {
            count += i;
        }
    }
}
  1. Déployez et interagissez avec le contrat dans Remix.

  2. Utilisez le débogueur sur la fonction setCount et identifiez les opérations gourmandes en gaz. Ici, l'opération en boucle consommera plus de gaz au fur et à mesure que _count augmente.

Conclusion

Comprendre et tirer le meilleur parti de Remix Debugger est une compétence qui vous aidera non seulement à diagnostiquer les problèmes, mais aussi à affiner votre contrat pour qu'il soit économe en gaz. En parcourant votre code, vous pouvez repérer des inefficacités qui pourraient ne pas être apparentes à un niveau plus élevé.

免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。