Creer et deploie ton premier contrat intelligent (Smart Contract) avec solidity.
Solidity est un langage de programmation permettant de mettre en œuvre des contrats intelligents. l'influence de C++, Python et JavaScript est visible.
Les contrats intelligents sont simplement des programmes stockés sur une blockchain qui s'exécutent lorsque des conditions prédéterminées sont remplies.
Un avantage de ces programmes est que vous pouvez vérifier qu'ils sont bien ce qu'ils sont et qu'ils font ce qu'ils prétendent faire. Cela permet de créer un écosystème autonome sans permission entre des parties prenantes non fiables et anonymes.
Spécification de la version du compilateur solidity avec pragma.
Comme nous utilisons Hardhat, nous devons vérifier que la version du compilateur Solidity dans le fichier hardhat.config.js est la même que celle que nous spécifions dans notre contrat intelligent.
Comme solidity ne supporte pas nativement les "console.log", nous devrions à nouveau utiliser les pouvoirs magiques de Hardhat. Hardhat permet d'utiliser "console.log" dans solidity.
Commençons maintenant à écrire le contrat intelligent Dans solidity, la syntaxe d'un smart contract est similaire aux classes des autreslangages de programmation
Nous utilisons le mot-clé contract ainsi que le nom du contrat pour définir un contrat.
La définition d'un contrat est similaire à la définition d'une classe dans d'autres langages de programmation comme JavaScript.
Tout code contenu dans le constructeur est exécuté une fois lorsque le contrat est déployé.
contract HelloWorld {
constructor() {
console.log("Hello, World");
}
}
ethereum-waffle : paquet waffle pour tester vos smart contracts.
@nomiclabs/hardhat-waffle: tester les smart contracts en utilisant waffle et hardhat.
chai = librairie de test
ethers est une bibliothèque pour l'implémentation complète de portefeuilles Ethereum.
@nomiclabs/hardhat-ethers est un plugin hardhat pour ethers.
contracts est le dossier où sont stockés tous nos contrats intelligents. scripts est le dossier où tous les scripts tels que run.js et deploy.js sont stockés. test est le dossier où sont stockés tous nos tests chai.
Un contrat intelligent :
Le dossier artifact est similaire à un dossier build
Nous ne verrons le journal de la console qu'après que le contrat intelligent ait été officiellement déployé sur la blockchain locale, car le code à l'intérieur du constructeur ne s'exécute qu'une fois lorsque le contrat intelligent a été déployé.
Ajoutons un console.log au script d'exécution qui indique l'adresse du compte où notre contrat intelligent a été déployé.
Voici le resultat final, vous venez de creer votre premier contrat intelligent avec un deploiement sur la blockchain local.
Felicitations !