DEV Community

Marjorie
Marjorie

Posted on

Introduction aux contrats intelligents avec Solidity

Image description

📜 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;
Enter fullscreen mode Exit fullscreen mode

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;
Enter fullscreen mode Exit fullscreen mode

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é
}
Enter fullscreen mode Exit fullscreen mode

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.

Top comments (0)