Guide 5

Vérifier l’équité par vous-même

Tout ce que le site affirme sur le contrat peut être vérifié dans les données ouvertes du réseau. Ci-dessous, les vérifications, de la plus simple (deux minutes) à la plus poussée (compilation du code). Pour la plupart, aucune programmation n’est nécessaire.

Principe de la vérification

Un site peut être falsifié ou se tromper ; un enregistrement sur la blockchain, non. Vérifiez donc, non pas sur le site du projet, mais dans un explorateur de blocs : un site indépendant qui montre le contenu de la blockchain (Solscan, Solana Explorer, SolanaFM et équivalents). Ouvrez-en un par vous-même, jamais par des liens reçus dans des messages.

Pour les vérifications, il faut deux adresses : celle du programme (le contrat) et celle du jeton. La page « Sécurité » les affiche. Recoupez-les dans au moins deux autres sources indépendantes (dépôt, canaux officiels) : si les adresses divergent, on essaie de vous tromper.

Vérifications rapides (2–10 minutes)

Quoi vérifierOù regarderCe qui doit apparaîtreSinon
1. Peut-on imprimer de nouveaux jetons ?Page du jeton dans l’explorateur, champ Mint AuthorityVide (révoquée)Le détenteur de l’adresse indiquée peut émettre autant de jetons qu’il veut et dévaloriser les vôtres.
2. Peut-on geler les jetons ?Même page, champ Freeze AuthorityVideLe détenteur peut geler n’importe quel portefeuille, y compris le vôtre.
3. Qui peut modifier le code ?Page du programme, champ Upgrade AuthorityVide (code gelé) ou adresse d’un multisig avec délai sur les mises à jourUne simple adresse unique signifie que son détenteur peut charger d’autres règles à tout moment.
4. Offre totale du jetonPage du jeton : SupplyPas plus de 100 000 000 000, et elle ne fait que diminuer par le brûlageDavantage signifie que l’émission a été augmentée.
5. Le jeton correspond-il ?L’adresse du jeton dans votre portefeuille comparée à la page « Sécurité »Les adresses sont identiques caractère par caractèreCe n’est pas le vrai FAIRDRUM. N’achetez pas et ne déposez pas.
6. Y a-t-il assez de jetons dans le coffre ?L’adresse du coffre sur la page « Sécurité », solde du jeton ; les montants des cagnottes sur la page « Économie »Le solde du coffre n’est pas inférieur à la somme des cagnottes (plus les soldes de jeu des joueurs)Le contrat doit toujours être couvert par les jetons. Un écart est un signal sérieux.

Le tableau du haut de la page « Sécurité » lit les mêmes champs directement depuis le réseau et affiche ✔ ou ⚠, mais ne vous fiez pas qu’à lui : recoupez au moins une fois par vous-même.

Vérifier votre propre tour

Chaque tour laisse un enregistrement sur le réseau, et le résultat affiché à l’écran peut être recoupé avec lui.

  1. Trouvez la transaction

    Après un tour, le lien « Transaction » apparaît sous le bouton. Il ouvre l’enregistrement dans l’explorateur. Ou bien ouvrez l’historique de votre portefeuille dans l’explorateur et choisissez la transaction impliquant le programme FAIRDRUM.

    Attendu : le statut Success et la liste des instructions.

  2. Trouvez les deux paires d’appels

    La première transaction contient un appel à Switchboard (demande d’aléa, commit) et un appel au programme FAIRDRUM spin_commit (la mise). La seconde : un appel à Switchboard (révélation, reveal) et spin_settle (le calcul). Le nom varie légèrement selon les explorateurs (SpinCommit, spinCommit).

  3. Comparez l’ordre

    La mise a été enregistrée avant la révélation du nombre : la première transaction a un numéro de bloc (Slot) inférieur à la seconde. Cela signifie que ni vous ni le projet ne connaissiez le résultat au moment de la mise.

  4. Consultez le journal (Logs) de la seconde transaction

    On y trouve l’événement SpinSettled avec le nombre de tours, les prix, les touches au mini-jackpot, au jackpot et au super jackpot. Ce sont les mêmes chiffres que ceux affichés par la roue.

  5. Vérifiez le propriétaire de l’aléa

    Le compte d’aléa indiqué dans la transaction doit appartenir au programme Switchboard. Le contrat rejette lui-même tout autre compte, mais il vaut la peine de s’en assurer : ouvrez le compte et regardez le champ Owner.

Vérifications poussées

Compiler le code et comparer le hash

Prenez dépôt du projet sur GitHub (le lien apparaîtra après la publication), compilez le programme en mode reproductible (anchor build --verifiable) et comparez le hash avec celui du réseau (solana-verify). Une correspondance signifie que c’est exactement ce code ouvert qui tourne sur le réseau.

Lire les constantes

Tous les nombres du jeu sont réunis dans un seul fichier, consts.rs : parts, chances, échelle des prix, frais, délais. Le site construit ses tableaux à partir de ce fichier, et il ne doit y avoir aucun écart entre le site et le contrat.

Lancer les tests

Le dépôt contient des tests des règles et des calculs (cargo test) et du client (npm test). Ils vérifient, par exemple, que la somme de tous les pools et soldes ne dépasse pas les jetons du coffre.

Décortiquer le choix du résultat

À partir des 32 octets d’aléa révélés, le contrat dérive des nombres via SHA-256. Pour la roue principale, ce sont des blocs SHA-256("FDRM-M" + aléa + numéro de bloc), dont on prend 4 octets (little-endian) par nombre, un pour chaque tour exécuté. Pour la roue dorée : SHA-256("FDRM-G" + aléa + numéro du tour exécuté). Le nombre est comparé à des seuils exprimés en fractions de 232 ; les seuils eux-mêmes dépendent du volume hebdomadaire et de la taille des cagnottes au moment du calcul, donc recalculer entièrement un ancien tour n’est possible qu’avec l’état du programme à ce slot. Les formules se trouvent dans math.rs et engine.rs.

Lire le journal sur une période

N’importe qui peut extraire du réseau tous les événements SpinSettled d’une période et calculer lui-même la fréquence de l’or et la taille des cagnottes. Comparez avec les « Chances ». Sur un petit nombre de tours, la dispersion est énorme : pour voir une chance de 1 %, il faut des milliers de tours.

Ce qui ne peut pas être vérifié

  • L’honnêteté de l’oracle. L’aléa vient du réseau Switchboard. Le contrat vérifie que le nombre provient du bon compte et qu’il a été révélé après la mise, mais il ne peut pas vérifier que les nœuds de l’oracle ne se sont pas entendus entre eux. C’est une dépendance externe.
  • L’absence d’erreurs dans le code. Les tests et le code ouvert renforcent la confiance, mais ne remplacent pas un audit indépendant. Tant que le lien vers un audit n’est pas indiqué, il n’y en a pas.
  • L’avenir. Tant que l’autorité de mise à jour n’est pas révoquée, les règles peuvent changer avec une nouvelle version. Surveillez les transactions de mise à jour du programme.
  • Ce que fait l’administrateur hors du contrat. Les ventes de ses jetons, le marketing, les décisions de listing ne sont pas contrôlés par le contrat. Les paiements du fonds de promotion sont publics, mais le contrat ne vérifie pas « à quoi » ils servent.

Signaux d’alerte

L’adresse dans un message ne correspond pas au siteSubstitution du jeton ou du programme.
Mint ou Freeze Authority renseignéesQuelqu’un conserve l’émission ou le gel.
Autorité de mise à jour chez une seule adresse, sans délaiLes règles peuvent changer à tout moment.
« Gain garanti », « combine », « programme d’affiliation »Le jeu n’a ni parrainage ni garanties, le retour moyen est d’environ 73–74 %.
On vous demande la phrase de récupération ou de « confirmer le portefeuille »C’est un vol. Fermez la page.
La transaction demande plus que prévuLisez la fenêtre du portefeuille. En cas de doute : refusez.