Détails des Fonctions

Détails des Fonctions#

Cette section explique chaque fonction du contrat en détail, avec des exemples concrets.

register#

function register() public payable {
    // Enregistre un utilisateur en tant qu'enchérisseur
}
  • Description : Permet à un utilisateur de s’enregistrer en tant qu’enchérisseur.

  • Entrée : Aucun argument requis.

  • Effet : - Ajoute l’utilisateur au tableau bidders. - Initialise son solde à 5 jetons.

Exemple : - Appeler register avec l’adresse 0x123…. - Résultat attendu :

  • bidders[0].addr = 0x123…

  • bidders[0].remainingTokens = 5.

bid#

function bid(uint _itemId, uint _count) public payable {
    // Place une enchère sur un article
}
  • Description : Place une enchère sur un article spécifique.

  • Entrées : - _itemId : ID de l’article (0, 1 ou 2). - _count : Nombre de jetons misés.

  • Effet : - Met à jour la liste des enchères pour l’article. - Déduit les jetons du solde de l’utilisateur.

Exemple : - Appeler bid(1, 2) :

  • itemTokens pour l’article 1 sera mis à jour.

  • Le solde de l’utilisateur sera décrémenté de 2.

revealWinners#

function revealWinners() public onlyOwner {
    // Révèle les gagnants pour chaque article
}
  • Description : Sélectionne aléatoirement un gagnant pour chaque article.

  • Conditions : - Seul le propriétaire peut appeler cette fonction.

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

Exemple : - Appeler revealWinners. - Résultat attendu :

  • Les gagnants pour chaque article sont enregistrés.

—