Code — FGC42Forge (Hardhat 3)
Sources du token FGC42Forge (symbole FG42), standard BEP-20, déployé sur BNB Smart Chain Testnet (chainId 97).
Stack : Solidity 0.8.34, Hardhat 3, OpenZeppelin 5, tests Mocha + ethers.
Adresse déployée et vérif BscScan : ../deployment/addresses.json · ../deployment/BSCSCAN_VERIFICATION.md
Guide relecture (correcteur / code review)
| Fichier | Contenu commenté |
|---|---|
contracts/FGC42Forge.sol |
Contrat principal — NatSpec, contraintes sujet, supply fixe, sécurité, fonctions héritées |
test/FGC42Forge.ts |
Tests du token (métadonnées, transfer, supply) |
ignition/modules/FGC42Forge.ts |
Module de déploiement Ignition |
hardhat.config.ts |
Compilateur, réseau bscTestnet, variables d’environnement |
Fichiers hors livrable token (template Hardhat) : contracts/Counter.sol, Counter.t.sol, test/Counter.ts — le jeton évalué est FGC42Forge uniquement.
BEP-20 vs ERC20 dans le code
- Soutenance : jeton BEP-20 sur BSC Testnet.
- Code : héritage OpenZeppelin
ERC20(interface EVM identique ; pas de moduleBEP20séparé). - BscScan : affiche BEP-20 après déploiement ; vérification du code source via
deployment/FGC42Forge_flat.sol.
Prérequis
- Node.js ≥ 18 (Hardhat 3 recommande v22+)
- Compte testnet avec tBNB pour deploy / gas
Installation
cd code
npm install
cp .env.example .env
# Éditer .env : PRIVATE_KEY = clé privée (pas l'adresse wallet)
| Variable | Description |
|---|---|
BSC_TESTNET_RPC |
URL RPC BSC Testnet |
PRIVATE_KEY |
Signataire des transactions Hardhat (deploy) |
Commandes utiles
npx hardhat build
npx hardhat test mocha --grep FGC42Forge
Tous les tests (inclut l’exemple Counter du template) :
npx hardhat test
Déploiement (déjà effectué — reproduction)
npx hardhat ignition deploy --network bscTestnet ignition/modules/FGC42Forge.ts
Détails : ../deployment/README.md
Arborescence
contracts/
FGC42Forge.sol ← token BEP-20 (commenté pour la soutenance)
Counter.* ← exemple Hardhat (optionnel)
test/
FGC42Forge.ts ← tests du token
ignition/modules/
FGC42Forge.ts ← deploy Ignition
hardhat.config.ts ← réseau bscTestnet + Solidity 0.8.34
Documentation utilisateur (wallet, transfers) : ../documentation/README.md