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.
—