Explication des Couleurs des Boutons dans Remix#

Dans l’IDE Remix, les boutons sont colorés pour indiquer leur comportement et leur impact sur la blockchain.

Couleurs des Boutons et Leurs Significations#

Boutons Rouges#

  • Signification : Fonctions qui modifient l’état du contrat (transactions qui changent des variables sur la blockchain).

  • Caractéristiques :

    • Nécessitent l’envoi d’une transaction.

    • Consomment du gas.

  • Exemples dans ce contrat :

    • register()

    • bid(uint _itemId, uint _count)

Boutons Oranges#

  • Signification : Fonctions avec des propriétés spécifiques, telles que les fonctions payable ou celles avec des modificateurs d’accès comme onlyOwner.

  • Caractéristiques :

    • Peuvent avoir des restrictions sur qui peut les appeler.

    • Consomment du gas.

  • Exemple dans ce contrat :

    • revealWinners()

Boutons Bleus#

  • Signification : Fonctions ou variables qui ne modifient pas l’état du contrat.

  • Caractéristiques :

    • Ne nécessitent pas l’envoi d’une transaction.

    • Ne consomment pas de gas.

  • Exemples dans ce contrat :

    • beneficiary (variable)

    • items (variable)

    • winners (variable)

Utilisation des Boutons dans Ce Contrat#

Boutons Rouges (Fonctions Modifiant l’État)#

``register``

  • But : Permettre à un utilisateur de s’enregistrer en tant qu’enchérisseur dans l’enchère.

  • Comment l’utiliser :

    • Assurez-vous d’être connecté avec un compte différent du propriétaire (compte 0).

    • Cliquez sur le bouton register pour vous enregistrer.

  • Effet :

    • Ajoute votre adresse à la liste des enchérisseurs.

    • Vous attribue 5 jetons (remainingTokens).

``bid``

  • But : Permettre à un enchérisseur enregistré de placer une enchère sur un article spécifique en misant un certain nombre de jetons.

  • Comment l’utiliser :

    • Saisissez les valeurs dans les champs de texte correspondants :

      • _itemId : Identifiant de l’article sur lequel vous souhaitez enchérir (0, 1 ou 2).

      • _count : Nombre de jetons que vous souhaitez miser sur cet article.

    • Cliquez sur le bouton bid.

  • Effet :

    • Vérifie que vous avez suffisamment de jetons.

    • Déduit le nombre de jetons misés de votre solde.

    • Enregistre votre enchère sur l’article choisi.

Boutons Oranges (Fonctions Restreintes)#

``revealWinners``

  • But : Permettre au propriétaire du contrat de révéler les gagnants de l’enchère pour chaque article.

  • Comment l’utiliser :

    • Cette fonction ne peut être appelée que depuis le compte du propriétaire (compte 0), en raison du modificateur onlyOwner.

    • Cliquez sur le bouton revealWinners lorsque l’enchère est terminée.

  • Effet :

    • Sélectionne aléatoirement un gagnant pour chaque article parmi les enchérisseurs qui ont placé des jetons sur cet article.

    • Met à jour le tableau winners avec les adresses des gagnants.

Boutons Bleus (Fonctions et Variables en Lecture Seule)#

``beneficiary``

  • But : Afficher l’adresse du bénéficiaire (propriétaire) du contrat.

  • Comment l’utiliser :

    • Cliquez sur le bouton beneficiary pour voir l’adresse du propriétaire.

  • Effet :

    • Affiche l’adresse qui a déployé le contrat.

``items``

  • But : Permettre de consulter les détails d’un article spécifique dans l’enchère.

  • Comment l’utiliser :

    • Saisissez l’identifiant de l’article que vous souhaitez consulter (0, 1 ou 2) dans le champ de texte.

    • Cliquez sur le bouton items.

  • Effet :

    • Affiche les détails de l’article, y compris son itemId et la liste des itemTokens (identifiants des enchérisseurs qui ont misé sur cet article).

``winners``

  • But : Permettre de consulter l’adresse du gagnant pour un article spécifique.

  • Comment l’utiliser :

    • Saisissez l’identifiant de l’article pour lequel vous souhaitez voir le gagnant (0, 1 ou 2) dans le champ de texte.

    • Cliquez sur le bouton winners.

  • Effet :

    • Affiche l’adresse de l’enchérisseur qui a gagné l’article correspondant.