Tokenizer — Build your own token
Projet 42 — création et déploiement d’un token sur blockchain publique (testnet).
Ce dépôt Git est autonome : tout ce qui est évalué (code, deploy, doc utilisateur) est sous
README.md,code/,deployment/etdocumentation/.
Guide utilisateur (wallet, transfers, sécurité) : documentation/README.md
État du projet
| Élément | Statut |
|---|---|
Smart contract (code/) |
FGC42Forge + tests Hardhat |
Déploiement (deployment/) |
Testnet — voir deployment/addresses.json |
Documentation utilisateur (documentation/) |
Rédigée — documentation/README.md |
| Code review (commentaires) | contracts/FGC42Forge.sol + index code/README.md |
Token
| Champ | Valeur |
|---|---|
| Nom | FGC42Forge |
| Symbole | FG42 |
| Standard | BEP-20 (BNB Smart Chain) — contrat Solidity via OpenZeppelin ERC20 (même interface EVM ; BscScan affiche BEP-20 après deploy) |
| Réseau | BNB Smart Chain Testnet, chainId 97 |
| Supply | 1 000 000 FG42 (18 décimales) — émission unique au deploy, pas de mint public ensuite |
| Adresse du contrat | 0x0c76df26A1149fDc22C8f994975705271b070fF4 |
| Explorer (contrat) | https://testnet.bscscan.com/address/0x0c76df26A1149fDc22C8f994975705271b070fF4 |
| Explorer (token) | https://testnet.bscscan.com/token/0x0c76df26A1149fDc22C8f994975705271b070fF4 |
| Deployer | 0xB6bE1878BfaF1FFC8503E752b1D733Ad7b93603c (FGC_account) |
| Source vérifiée (BscScan) | Oui — détails : deployment/BSCSCAN_VERIFICATION.md |
Choix techniques
Résumé pour la soutenance (le sujet demande d’expliquer pourquoi) :
-
Chaîne — BNB Smart Chain Testnet (97) : blockchain publique EVM alignée avec le partenaire BNB du sujet ; gas en tBNB via faucet ; preuve sur BscScan testnet sans argent réel.
-
Langage / outils — Solidity + Hardhat 3 : langage attendu pour les smart contracts BSC ; Hardhat pour compiler, tester (Mocha/ethers) et déployer (Ignition) de façon reproductible dans
code/etdeployment/. -
Bibliothèques — OpenZeppelin
ERC20+Ownable: implémentation éprouvée du standard fongible ; sur BSC le jeton est qualifié BEP-20 à l’explorer. Pas de réécriture manuelle detransfer/balanceOf. -
Modèle économique : 1 000 000 FG42, 18 décimales ; toute la supply mintée une fois au déployeur dans le constructeur ; aucune fonction
mintpublique → offre non diluable. -
Sécurité : compte de test dédié ; secrets dans
.envlocal uniquement ;ownerpour l’admin OpenZeppelin sans création de jetons supplémentaires ; pas de burn. Détail utilisateur :documentation/README.md.
Structure du dépôt
README.md ← ce fichier
code/ ← sources du smart contract
deployment/ ← scripts et infos de déploiement
documentation/ ← comment utiliser le token
Lancer / tester (à adapter selon ta stack)
Le projet Hardhat est dans code/ (fichier hardhat.config.ts).
Depuis la racine du dépôt (tokenizerRendu/), npx hardhat échoue avec No Hardhat config file found — il faut entrer dans code/ d’abord.
cd code # obligatoire avant toute commande hardhat
npm install
npx hardhat build
npx hardhat test
npx hardhat test --grep FGC42Forge # uniquement les tests du token
Déploiement (déjà effectué — pour reproduire, voir deployment/README.md) :
cd code
npx hardhat ignition deploy --network bscTestnet ignition/modules/FGC42Forge.ts
Ne jamais committer de clé privée. Utiliser un fichier .env local (voir .env.example si présent).
Démo en évaluation (actions minimales)
- Montrer le contrat sur l’explorer (adresse + token).
- Transfer entre deux comptes de test.
- Expliquer owner (
Ownable) : pas demintpublic ; supply fixe au deploy. - Montrer que la documentation/ permet d’utiliser le token sans ton aide.
Bonus
Non implémenté (choix volontaire : priorité à une partie obligatoire stable et documentée). Le sujet propose un multisig en bonus ; non requis pour la correction du token BEP-20.
Vidéo démo (optionnel)
(Lien uniquement — la vidéo n’est pas requise et n’améliore pas la note.)