Dans ce tutoriel, nous allons créer un contrat Solidity simple pour lire et écrire des variables, puis estimer le coût d’utilisation de ce contrat en utilisant Remix IDE.
1 : Écrire le contrat Solidity
Créez un fichier nommé SimpleStorage.sol
et ajoutez le code suivant :
solidityCopy codepragma solidity ^0.8.0;
contract SimpleStorage {
uint256 private data;
function set(uint256 value) public {
data = value;
}
function get() public view returns (uint256) {
return data;
}
}
Ce contrat contient une variable data
de type uint256
et deux fonctions : set()
pour modifier la valeur de data
et get()
pour récupérer la valeur actuelle de data
.
2 : Compiler le contrat avec Remix IDE
- Accédez à l’éditeur Remix IDE (https://remix.ethereum.org/).
- Créez un nouveau fichier en cliquant sur l’icône « + » et nommez-le
SimpleStorage.sol
. - Copiez et collez le code du contrat à partir de l’étape 1.
- Sélectionnez l’onglet « Solidity Compiler » sur le côté gauche.
- Choisissez la version du compilateur compatible avec la version pragma de votre contrat (
0.8.0
dans notre exemple). - Cliquez sur « Compile SimpleStorage.sol ».
3 : Déployer et estimer le coût de déploiement
- Sélectionnez l’onglet « Deploy & Run Transactions » sur le côté gauche de Remix.
- Dans la section « Environment », sélectionnez « JavaScript VM » pour déployer le contrat localement dans Remix.
- Dans la section « Contract », choisissez
SimpleStorage
dans la liste déroulante, puis cliquez sur « Deploy ». - Surveillez la transaction de déploiement dans la section « Transactions ». Cliquez sur la transaction pour afficher les détails. Vous verrez ici le coût de gas pour déployer le contrat.
4 : Estimer le coût d’appel des fonctions set
et get
- Sous la section « Deployed Contracts », vous verrez votre contrat
SimpleStorage
déployé. - Pour appeler la fonction
set
, entrez une valeur (par exemple,42
) dans le champ « value » et cliquez sur le bouton « set ». Observez la transaction dans la section « Transactions ». Cliquez sur la transaction pour voir les détails, y compris le coût en gas. - Pour appeler la fonction
get
, cliquez simplement sur le bouton « get ». Comme il s’agit d’une fonctionview
, il n’y aura pas de coût en gas pour l’appeler.
5. Analyse des cout du contrat SimpleStorage
Après avoir déployé le contrat sur Remix dans la javascript VM, on peut effectuer une transaction en entrant une valeur par exemple 8, dans la fonction SET :

Puis au centre de l’écran, on peut analyser le détail de la transaction :

Il a alors 3 lignes indispensables à comprendre :
Ces trois lignes concernent le gas:
- Gas: Il s’agit de la limite de gas que spécifiée pour la transaction. Si une transaction consomme plus de gas que la limite spécifiée, elle échoue et tout gas consommé est perdu. Il est important de définir une limite de gas appropriée pour vos transactions.
- Transaction cost: Il s’agit du coût total en gas pour la transaction, y compris les coûts de base de la transaction et les coûts d’exécution du code du contrat. Le coût de transaction dépend du type de transaction (déploiement de contrat, appel de fonction, etc.), de la complexité du contrat et du montant des données stockées.
- Execution cost: Il s’agit du coût en gas spécifiquement lié à l’exécution du code du contrat. Ce coût exclut les frais de base de la transaction, tels que le coût de stockage des données de la transaction et l’inclusion de la transaction dans un bloc. Le coût d’exécution dépend de la complexité du contrat et des opérations effectuées lors de l’appel de la fonction.
Dans notre cas, cela signifie que la limite de gas pour la transaction était de 50 258. La transaction a effectivement coûté 43 702 gas au total, dont 22 498 gas étaient liés à l’exécution du code du contrat.
Pour estimer le coût en ether de cette transaction, on peut multiplier le coût de la transaction (ou le coût d’exécution si pour connaître uniquement le coût du code du contrat) par le prix actuel du gas en gwei, puis convertir ce montant en ether. Par exemple, si le prix actuel du gas est de 30 gwei, le coût de la transaction serait de 43 702 * 30 gwei = 1 311 060 gwei, soit environ 0.00131106 ether.
Maintenant que vous avez déterminé les coûts de gas pour déployer le contrat et appeler ses fonctions, vous pouvez les multiplier par le prix actuel du gas (en gwei) pour estimer le coût total en ether. Vous pouvez consulter les sites web comme https://etherscan.io/gastracker pour vérifier les prix actuels du gas.
N’oubliez pas que les coûts peuvent varier en fonction des conditions du réseau et du prix du gas, donc assurez-vous de prendre en compte ces fluctuations lors de l’estimation des coûts réels d’utilisation.