5.2 KiB
5.2 KiB
Fiche de soutenance — Tokenizer (FGC42Forge)
Usage : préparation orale + code review. Fichier hors rendu (
docs/pedagogie/).
Grille sujet :sujet-exigences-rendu.md(PDF v1.1, ch. IV–VI).
1. Pitch (30–45 s)
- Projet Tokenizer : token BEP-20 sur BSC Testnet, nom FGC42Forge, symbole FG42, supply 1 000 000 mintée une fois au déploiement.
- Stack : Solidity + OpenZeppelin (
ERC20,Ownable) + Hardhat 3 + Ignition. - Déployé et vérifié sur BscScan ; démo transfer entre deux wallets test.
- Bonus multisig non retenu (priorité obligatoire + simplicité ownership).
2. Carte du dépôt école (tokenizerRendu/)
| Chemin | Rôle (sujet) |
|---|---|
README.md |
Choix techniques + pourquoi + adresse + réseau + explorer |
code/ |
Source commenté, tests, Hardhat |
code/contracts/FGC42Forge.sol |
Contrat token — cœur code review |
deployment/ |
Adresses, flatten, guide vérif BscScan |
documentation/README.md |
Utilisateur : qu’est-ce que FG42, comment l’utiliser |
Ne pas montrer au correcteur comme partie du rendu : docs/, tokenizerRendu/../docs/pedagogie.
3. Chiffres à avoir en tête (sans lire l’écran)
| Élément | Valeur |
|---|---|
| Réseau | BSC Testnet, chainId 97 |
| Contrat | 0x0c76df26A1149fDc22C8f994975705271b070fF4 |
| Wallet déploiement / owner | 0xB6bE…603c (FGC_account — avoir l’adresse complète sous les yeux) |
| Supply | 1 000 000 × 10¹⁸ unités (18 décimales OZ) |
| Tests | npx hardhat test — 2 tests FGC42Forge |
4. Déroulé oral suggéré (~10–15 min selon école)
| Étape | Contenu | Lien exigence sujet |
|---|---|---|
| 1 | Contexte Web3 + BNB Chain testnet, pas d’argent réel | T4, T6 |
| 2 | README : pourquoi BSC, OZ, supply fixe, pas de mint public | T5, T12 |
| 3 | documentation/ : cas d’usage, limites, import MetaMask |
T17–T19 |
| 4 | BscScan : contrat vérifié, token, une tx transfer |
T11, T15–T16 |
| 5 | Démo live ou replay : transfer 100 FG42 | T11 |
| 6 | Code review FGC42Forge.sol |
T9–T10 |
| 7 | deployment/ : comment reproduire le deploy (sans exposer clé) |
T13–T14 |
| 8 | Bonus : pourquoi pas multisig | Ch. V (choix assumé) |
5. Code review — points à expliquer ligne par ligne (conceptuel)
import ERC20, Ownable— standard BEP-20 / ERC-20, pas de réinvention.- Constructeur :
_mint(msg.sender, …)une fois → supply initiale ;msg.sender= deployer = owner. - Pas de
mint()public — seul le design « supply fixe » ; owner ne mint pas après (à confirmer dans le fichier). Ownable— qui peuttransferOwnership; pas de pause si non implémentée.- Tests : supply, transfer, éventuellement owner — preuve locale avant deploy.
(Relire le contrat la veille ; adapter cette liste au code exact.)
6. Sécurité (obligatoire sujet — réponses courtes)
| Question évaluateur | Réponse type |
|---|---|
| Qui peut créer des tokens après deploy ? | Personne ; supply fixée au constructeur. |
| Risque si clé owner compromise ? | Ownership OZ : transfert de propriété possible ; pas de mint dans notre design. |
| Pourquoi testnet ? | Sujet : pas d’argent réel ; faucet tBNB. |
| Pourquoi OpenZeppelin ? | Bibliothèque auditée, conformité ERC-20. |
7. Stack, outils, alternatives (README « pourquoi »)
| Choix | Pourquoi | Alternative citée au sujet |
|---|---|---|
| BSC Testnet | Partenaire BNB, BEP-20, faucet | Ethereum testnet + ERC-20 |
| Hardhat 3 | Tests, compile, Ignition | Remix, Truffle |
| Ignition | Deploy reproductible | Script deploy manuel |
.env + .env.example |
Clé hors Git | — |
| Flatten + BscScan | Lisibilité évaluateur | Optionnel mais fait |
8. Commandes utiles (machine école)
cd code
npm ci # ou npm install
cp .env.example .env # renseigner PRIVATE_KEY 64 hex — jamais commit
npx hardhat test
npx hardhat ignition deploy ignition/modules/FGC42Forge.ts --network bscTestnet
9. Git / Vogosphere (rappel)
- Racine du repo école = contenu de
tokenizerRendu/(souventgit initdans ce dossier ou branche dédiée). .gitignore:.env,node_modules,cache,artifacts.- Seul le dépôt poussé compte (ch. VI).
10. Auto-contrôle avant soutenance
Repasser la colonne « Projet » dans sujet-exigences-rendu.md (T1–T19).
- README rendu autonome (pas de lien vers
docs/pedagogie) documentation/README.mdsans référence au dépôt persodocs/(optionnel à nettoyer)- Adresse + réseau visibles sans chercher
- Démo transfer reproductible
- 2 phrases sur ch. III (compétences acquises)
11. Si on te demande « qu’est-ce qui manquerait pour le bonus ? »
Multisig (ex. Gnosis Safe ou contrat custom) sur actions sensibles ; m signatures sur n signataires ; extension cohérente avec le token — seulement si obligatoire jugée parfaite.