Pour les développeurs
Le code de FAIRDRUM est ouvert sous licence MIT : le contrat, le site, les scripts de lancement et les tests se trouvent dans un seul dépôt (le lien apparaîtra ici après la publication). Voici en bref comment tout est organisé et comment lancer votre propre copie.
Structure
| Dossier | Contenu |
|---|---|
programs/fairdrum/ | Contrat en Rust et Anchor 1.2.2. Les nombres du jeu sont dans consts.rs, les calculs dans engine.rs et math.rs sous forme de fonctions ordinaires, de sorte que les tests tournent sans réseau. |
app/ | Site : Vite et TypeScript, pages dans app/src/pages/, client du contrat et interaction avec Switchboard dans app/src/chain/. Les tableaux de chiffres du site sont générés à partir de consts.rs et ne divergent donc pas du contrat. |
scripts/ | Lancement : émission du jeton, initialisation, vérification des réglages enregistrés, test sur devnet, versements de service, « veilleur » facultatif. |
docs/ | ARCHITECTURE.md (comment tout est conçu), LAUNCH.md (lancement pas à pas), AUDIT.md (auto-vérification de la sécurité et questions ouvertes). |
e2e/ | Vérifications du site dans un vrai navigateur, avec un portefeuille factice et un réseau factice. |
Le projet n’a ni serveur ni base de données : le site se compose de simples fichiers et lit les données directement dans le contrat.
Lancer chez vous
Il faut Node.js 20.19 ou plus récent, et Rust pour les tests du contrat.
npm install
npm run dev # site sur localhost, sans contrat, en mode démo
npm test # tests du client
cargo test -p fairdrum --release # tests du contrat
npm run build # site dans le dossier dist/
npm run build:single # version hors ligne : des fichiers html séparés, qui s’ouvrent d’un double-clic
Lancement pas à pas sur devnet et sur le réseau principal, avec les commandes et l’analyse des erreurs fréquentes : docs/LAUNCH.md dans le dépôt.
Réglages sans recompilation
Le fichier config.json se trouve à côté des pages et est lu à chaque chargement ; l’adresse du contrat, le nœud du réseau et les liens se changent donc sans compilation. Un programId vide active le mode démo.
{
"programId": "adresse du programme après le lancement",
"cluster": "mainnet-beta",
"rpc": "https://...",
"swapUrl": "lien d’échange de FAIRDRUM, quand il existera",
"links": { "github": "...", "telegram": "...", "x": "...", "audit": "..." }
}
L’adresse du site, les descriptions des pages et les confirmations pour les webmestres se définissent dans app/seo.json et app/pages.json ; npm run gen:html régénère à partir de là les pages, le plan du site et robots.txt.
Vérification du code
Tests
La logique du contrat est vérifiée sans réseau, y compris par une « tempête » de dizaines de milliers d’opérations aléatoires : après chacune, les jetons du coffre doivent être exactement égaux aux engagements. Le test a été éprouvé par « mutation » : si l’on décale le calcul ne serait-ce que d’une unité minimale, il échoue.
Ce qui n’est pas vérifié
La compilation pour Solana, le fonctionnement réel avec Switchboard et l’audit indépendant : état du projet. La vérification interne ne remplace pas un audit, et docs/AUDIT.md énumère ce qui reste ouvert.
Rapprochement avec le réseau
Après le lancement, comparez le code publié avec le programme présent sur le réseau en suivant les instructions « Vérifier l’équité ». Les adresses du programme et du jeton figurent sur la page « Liens officiels ».
Si le site fairdrum.to est inaccessible
Le solde de jeu est conservé dans le contrat, et non sur le site. Le site est une enveloppe pratique, et le retrait peut se faire depuis n’importe laquelle de ses copies.
- Vérifiez que l’adresse est correctement saisie et ouvrez le site depuis un favori. Si seul ce site est inaccessible, patientez : il peut s’agir d’une panne temporaire de l’hébergeur.
- Ouvrez une copie du site : le dépôt est ouvert, et le site n’est que de simples fichiers. Téléchargez la version hors ligne ou compilez la vôtre (
npm run build), placez à côté unconfig.jsonavec la véritable adresse du programme (vous pouvez la comparer sur la page « Liens officiels » et dans l’explorateur), puis ouvrez-la avec n’importe quel serveur web simple, par exemplenpx vite preview. - Connectez le même portefeuille. Le solde, le rang et la série seront lus depuis le contrat, et le retrait fonctionne comme sur le site principal.
- Ne saisissez votre phrase de récupération sur aucun « miroir ». Le site ne la demande jamais : toute copie qui la demande est un faux.
Vérifiez toute copie du site provenant d’une source tierce : comparez son code avec le dépôt du projet. Sans cela, vous ne savez pas ce que vous allez signer. Il est plus sûr de la compiler vous-même.
Licence
MIT : le code peut être lu, copié, modifié et exécuté, y compris à des fins commerciales, à condition de conserver le texte de la licence. La licence porte sur le code, et non sur le nom ni sur l’adresse fairdrum.to : un fork aux règles différentes ne doit pas se faire passer pour ce projet.