الدرس رقم 2

Les bases du contrat intelligent Solidity

Bienvenue à la leçon 2 ! Aujourd'hui, nous allons plonger dans le monde fascinant de la programmation Solidity et de la création de contrats intelligents. Nous explorerons la syntaxe fondamentale de Solidity, les types de données, les variables et les fonctions. En outre, nous écrirons notre premier contrat intelligent simple et le déploierons sur le Testnet Nile en utilisant TronIDE et notre portefeuille TronLink. Entrons dans le vif du sujet !

Introduction au langage de programmation Solidity pour les Smart Contracts

Solidity est le principal langage de programmation pour créer des contrats intelligents sur Tron et d'autres blockchains basées sur Ethereum. La syntaxe de Solidity est similaire à celle de JavaScript, ce qui facilite son apprentissage pour les personnes ayant une expérience de JavaScript.

Activité 1 : Passez environ 20 minutes à parcourir la documentation de Solidity (https://docs.soliditylang.org/). Notez les similitudes ou les différences que vous remarquez entre Solidity et les autres langages de programmation que vous connaissez.

Syntaxe, types de données, variables et fonctions dans Solidity

Dans Solidity, nous disposons de plusieurs types de données, notamment uint, address, bool et string. Nous définissons des variables pour stocker des données et nous écrivons des fonctions pour manipuler ces données. Créons un contrat intelligent très basique. Nous allons créer un contrat qui stocke un numéro et nous permet de récupérer et de modifier ce numéro.

Ouvrez TronIDE et créez un nouvel espace de travail. Vous trouverez ce code dans le premier contrat appelé Storage.sol :

Solidity
// SPDX-License-Identifier : GPL-3.0

pragma solidity >=0.7.0 <0.9.0 ;

/**
 * @title Storage
 * @dev Store & retrieve value in a variable
 */
contract Storage {

 uint256 number ;

   /**
 * @dev Store value in variable
 * @param num value to store
 */
 function store(uint256 num) public {
        number = num;
    }

    /**
 * @dev Return value 
 * @return value of 'number'
 */
 function retrieve() public view returns (uint256){
        return number;
    }
}

Dans ce contrat, nous déclarons :

  • Un numéro de variable d'état de type uint256 (entier non signé de 256 bits)
  • Une fonction store() qui met à jour la valeur d'un nombre
  • Une fonction retrieve( ) qui renvoie la valeur actuelle d'un nombre

Écrire et déployer un contrat intelligent Tron simple sur le Testnet Nile

Maintenant que nous avons notre contrat, déployons-le sur le réseau Nile Testnet.

  • Étape 1 : Compilez le contrat dans TronIDE en cliquant sur la deuxième icône en partant du haut dans la barre latérale gauche (Compile).
  • Étape 2 : Assurez-vous que votre portefeuille TronLink est connecté au Nile Testnet.

  • Étape 3 : Cliquez sur la troisième icône en partant du haut dans la barre latérale gauche de TronIDE (Déployer & Exécuter des transactions), sélectionnez votre contrat dans le menu déroulant et cliquez sur "Déployer".

Voilà ! Votre premier contrat est maintenant en ligne sur le Nile Testnet !

Interagir avec le contrat déployé

Après avoir déployé avec succès votre contrat intelligent sur le Testnet Nile via TronIDE, suivez les étapes suivantes :

  • Étape 1 : Ouvrez l'onglet "Deploy & Run Transactions" dans TronIDE. Il s'agit de la troisième icône en partant du haut dans la barre latérale gauche.
  • Étape 2 : Dans la section "Contrats déployés" ci-dessous, vous verrez une liste des contrats que vous avez déployés. Recherchez le contrat intitulé "Stockage". Cliquez dessus pour le développer et voir les fonctions du contrat.
  • Étape 3 : Vous verrez deux fonctions listées, store() et retrieve().
  • Étape 4 : Pour mémoriser un nombre, saisissez le nombre souhaité dans le champ situé à côté de la fonction store(). Assurez-vous que le nombre se situe dans la plage acceptable pour un uint256 (entre 0 et environ 1,15x10^77). Après avoir saisi le numéro, cliquez sur le bouton store(). Une transaction sera initiée.

  • Étape 5 : Une notification TronLink s'affiche, vous demandant de confirmer l'exécution de cette transaction. Confirmez la transaction.
  • Étape 6 : Une fois la transaction confirmée (vous pouvez vérifier le statut dans l'historique des transactions de votre portefeuille TronLink), vous pouvez appeler la fonction retrieve(). Cliquez sur le bouton retrieve(). Il n'est pas nécessaire de saisir une valeur pour cette fonction.
  • Étape 7 : L'appel à la fonction retrieve() ne créera pas de nouvelle transaction car il s'agit d'une fonction de vue (elle ne modifie pas l'état du contrat). Vous devriez voir la sortie affichée dans l'onglet "console" en bas de l'écran de TronIDE. Le nombre que vous voyez doit être le même que celui que vous avez enregistré à l'aide de la fonction store().

C'est tout ! Vous avez interagi avec votre contrat déployé. Cette interaction est au cœur de la manière dont les utilisateurs interagissent avec vos dApps.

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.
الكتالوج
الدرس رقم 2

Les bases du contrat intelligent Solidity

Bienvenue à la leçon 2 ! Aujourd'hui, nous allons plonger dans le monde fascinant de la programmation Solidity et de la création de contrats intelligents. Nous explorerons la syntaxe fondamentale de Solidity, les types de données, les variables et les fonctions. En outre, nous écrirons notre premier contrat intelligent simple et le déploierons sur le Testnet Nile en utilisant TronIDE et notre portefeuille TronLink. Entrons dans le vif du sujet !

Introduction au langage de programmation Solidity pour les Smart Contracts

Solidity est le principal langage de programmation pour créer des contrats intelligents sur Tron et d'autres blockchains basées sur Ethereum. La syntaxe de Solidity est similaire à celle de JavaScript, ce qui facilite son apprentissage pour les personnes ayant une expérience de JavaScript.

Activité 1 : Passez environ 20 minutes à parcourir la documentation de Solidity (https://docs.soliditylang.org/). Notez les similitudes ou les différences que vous remarquez entre Solidity et les autres langages de programmation que vous connaissez.

Syntaxe, types de données, variables et fonctions dans Solidity

Dans Solidity, nous disposons de plusieurs types de données, notamment uint, address, bool et string. Nous définissons des variables pour stocker des données et nous écrivons des fonctions pour manipuler ces données. Créons un contrat intelligent très basique. Nous allons créer un contrat qui stocke un numéro et nous permet de récupérer et de modifier ce numéro.

Ouvrez TronIDE et créez un nouvel espace de travail. Vous trouverez ce code dans le premier contrat appelé Storage.sol :

Solidity
// SPDX-License-Identifier : GPL-3.0

pragma solidity >=0.7.0 <0.9.0 ;

/**
 * @title Storage
 * @dev Store & retrieve value in a variable
 */
contract Storage {

 uint256 number ;

   /**
 * @dev Store value in variable
 * @param num value to store
 */
 function store(uint256 num) public {
        number = num;
    }

    /**
 * @dev Return value 
 * @return value of 'number'
 */
 function retrieve() public view returns (uint256){
        return number;
    }
}

Dans ce contrat, nous déclarons :

  • Un numéro de variable d'état de type uint256 (entier non signé de 256 bits)
  • Une fonction store() qui met à jour la valeur d'un nombre
  • Une fonction retrieve( ) qui renvoie la valeur actuelle d'un nombre

Écrire et déployer un contrat intelligent Tron simple sur le Testnet Nile

Maintenant que nous avons notre contrat, déployons-le sur le réseau Nile Testnet.

  • Étape 1 : Compilez le contrat dans TronIDE en cliquant sur la deuxième icône en partant du haut dans la barre latérale gauche (Compile).
  • Étape 2 : Assurez-vous que votre portefeuille TronLink est connecté au Nile Testnet.

  • Étape 3 : Cliquez sur la troisième icône en partant du haut dans la barre latérale gauche de TronIDE (Déployer & Exécuter des transactions), sélectionnez votre contrat dans le menu déroulant et cliquez sur "Déployer".

Voilà ! Votre premier contrat est maintenant en ligne sur le Nile Testnet !

Interagir avec le contrat déployé

Après avoir déployé avec succès votre contrat intelligent sur le Testnet Nile via TronIDE, suivez les étapes suivantes :

  • Étape 1 : Ouvrez l'onglet "Deploy & Run Transactions" dans TronIDE. Il s'agit de la troisième icône en partant du haut dans la barre latérale gauche.
  • Étape 2 : Dans la section "Contrats déployés" ci-dessous, vous verrez une liste des contrats que vous avez déployés. Recherchez le contrat intitulé "Stockage". Cliquez dessus pour le développer et voir les fonctions du contrat.
  • Étape 3 : Vous verrez deux fonctions listées, store() et retrieve().
  • Étape 4 : Pour mémoriser un nombre, saisissez le nombre souhaité dans le champ situé à côté de la fonction store(). Assurez-vous que le nombre se situe dans la plage acceptable pour un uint256 (entre 0 et environ 1,15x10^77). Après avoir saisi le numéro, cliquez sur le bouton store(). Une transaction sera initiée.

  • Étape 5 : Une notification TronLink s'affiche, vous demandant de confirmer l'exécution de cette transaction. Confirmez la transaction.
  • Étape 6 : Une fois la transaction confirmée (vous pouvez vérifier le statut dans l'historique des transactions de votre portefeuille TronLink), vous pouvez appeler la fonction retrieve(). Cliquez sur le bouton retrieve(). Il n'est pas nécessaire de saisir une valeur pour cette fonction.
  • Étape 7 : L'appel à la fonction retrieve() ne créera pas de nouvelle transaction car il s'agit d'une fonction de vue (elle ne modifie pas l'état du contrat). Vous devriez voir la sortie affichée dans l'onglet "console" en bas de l'écran de TronIDE. Le nombre que vous voyez doit être le même que celui que vous avez enregistré à l'aide de la fonction store().

C'est tout ! Vous avez interagi avec votre contrat déployé. Cette interaction est au cœur de la manière dont les utilisateurs interagissent avec vos dApps.

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.