Introduction aux contrats intelligents avec Solidity
Marjorie
Posted on July 1, 2023
đ Les contrats intelligents sont des programmes autonomes qui sâexĂ©cutent sur une blockchain et permettent de crĂ©er des applications dĂ©centralisĂ©es. Lâun des langages les plus couramment utilisĂ©s pour Ă©crire des contrats intelligents est Solidity. Dans cet article, nous allons explorer les bases de Solidity Ă travers un exemple simple de contrat intelligent. đ
đ PrĂ©sentation de Solidity
Solidity est un langage de programmation spĂ©cialement conçu pour Ă©crire des contrats intelligents sur la blockchain Ethereum. Il offre un ensemble complet de fonctionnalitĂ©s pour dĂ©velopper des contrats intelligents robustes et sĂ©curisĂ©s. đȘ
đĄ Dans cet article, nous allons crĂ©er un contrat intelligent simple appelĂ© lessons qui illustre les fonctionnalitĂ©s de base de Solidity. đ©âđ»
đ§ Vous pouvez utiliser des outils tels que Remix, Truffle ou Hardhat pour compiler et dĂ©ployer vos contrats intelligents. đ ïž
đ Structures du contrat
Voici la structure de base de notre contrat lessons
:
pragma solidity 0.8.18;
Le pragma solidity 0.8.18
spĂ©cifie la version de Solidity utilisĂ©e dans le contrat. Assurez-vous dâutiliser une version compatible avec votre environnement de dĂ©veloppement. đ§
Voici quelques exemples de déclarations de variables dans notre contrat:
int public myInt;
uint256 private myUInt;
address payable public myAddress;
Dans lâexemple ci-dessus, nous avons dĂ©clarĂ© des variables avec diffĂ©rents types de donnĂ©es et des modificateurs de visibilitĂ© tels que public
. Les modificateurs de visibilitĂ© dĂ©terminent comment les variables sont accessibles depuis lâextĂ©rieur du contrat. đ
âčïž int
comprend des nombres entiers positifs et aussi négatifs.
uint
(unsigned integer) comprend seulement des nombres entiers positifs. đ
đ§ Fonctions du contrat
Les contrats intelligents peuvent avoir des fonctions qui définissent le comportement du contrat. Voici un exemple de fonction dans notre contrat lessons
:
function mint() external payable {
require(msg.sender == account, "Not admin"); // VĂ©rifie l'adresse de l'appelant
require(msg.value >= price, "Not enough funds"); // Vérifie le montant envoyé
}
La fonction mint
est définie comme external
, ce qui signifie quâelle peut ĂȘtre appelĂ©e depuis lâextĂ©rieur du contrat. La fonction utilise les mots-clĂ©s require
pour vĂ©rifier certaines conditions avant dâexĂ©cuter la logique du contrat. â
Dans lâexemple ci-dessus, la fonction vĂ©rifie si lâadresse de lâappelant est Ă©gale Ă account
et si le montant envoyé est supérieur ou égal à price
. Sinon, elle Ă©met un message dâerreur appropriĂ©. đ«
msg.sender
reprĂ©sente lâadresse de la personne qui appelle le contrat intelligent.
msg.value
nous permet de connaĂźtre le montant envoyĂ© par la personne. đ°
đ Conclusion
Dans cet article, nous avons exploré les bases de Solidity en utilisant un exemple simple de contrat intelligent. Nous avons vu comment déclarer des variables avec différents types de données et comment définir des fonctions pour implémenter la logique du contrat.
Solidity offre de nombreuses autres fonctionnalitĂ©s avancĂ©es pour la programmation des contrats intelligents, telles que lâhĂ©ritage, les Ă©vĂ©nements, les structures de donnĂ©es complexes, etc. đ
đ Voir la documentation de Solidity pour approfondir vos connaissances.
Posted on July 1, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.