Files
tokenizer/tokenizerRendu/code/README.md
2026-10-22 11:39:33 +02:00

4.1 KiB
Raw Blame History

Code — FGC42Forge (Hardhat 3)

Sources du token FGC42Forge (symbole FG42), standard BEP-20, déployé sur BNB Smart Chain Testnet (chainId 97).

| Langage contrat | Solidity 0.8.34 — voir contracts/FGC42Forge.sol | | Framework | Hardhat 3 — compile, teste, déploie depuis ce dossier | | Bibliothèque | OpenZeppelin 5 (ERC20, Ownable) | | Tests | TypeScript + Mocha + ethers — test/FGC42Forge.ts |

Glossaire complet (Hardhat, MetaMask, alternatives Remix/Truffle/Foundry) : ../documentation/STACK-GLOSSAIRE-ET-PARCOURS.md.

Adresse déployée : ../deployment/addresses.json · BscScan : ../deployment/BSCSCAN_VERIFICATION.md


Pourquoi les commandes se lancent depuis code/

Hardhat cherche hardhat.config.ts dans le répertoire courant. À la racine du dépôt (README.md parent), npx hardhat échoue (No Hardhat config file found). Toujours :

cd code   # depuis la racine du dépôt Git

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 : métadonnées, transfer, owner, conservation de totalSupply
ignition/modules/FGC42Forge.ts Module Ignition : déploie FGC42Forge sur le réseau passé à --network
hardhat.config.ts Compilateur Solidity, profil production (optimizer 200 runs), réseau bscTestnet + .env

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).
  • BscScan : affiche BEP-20 ; vérification via ../deployment/FGC42Forge_flat.sol.

Prérequis

  • Node.js ≥ 18 (Hardhat 3 recommande v22+)
  • Pour deploy testnet : compte avec tBNB + code/.env (voir ci-dessous)
  • Pour tests seuls : Node suffit (chaîne simulée Hardhat, pas de faucet)

Installation

cd code
npm install
cp .env.example .env
Variable .env Description
BSC_TESTNET_RPC URL du nœud BSC Testnet (même famille que MetaMask)
PRIVATE_KEY Clé privée hex du compte qui signe le deploy — pas l’adresse 0x…

.env est ignoré par Git ; ne jamais le committer.


Commandes — quoi et pourquoi

Commande Effet
npx hardhat build Compile FGC42Forge.sol (et Counter) ; nécessaire avant deploy ou si le code change.
npx hardhat test --grep FGC42Forge Lance 2 tests sur chaîne locale simulée : supply au deployer + transfer.
npx hardhat test Tous les tests, y compris l’exemple Counter du template Hardhat.
npx hardhat ignition deploy --network bscTestnet ignition/modules/FGC42Forge.ts Envoie une transaction on-chain : crée le contrat ; le deployer reçoit 1M FG42 ; coûte du tBNB.

Après un nouveau deploy : mettre à jour ../deployment/addresses.json et le README racine.

Procédure détaillée : ../deployment/README.md.


Arborescence utile

contracts/
  FGC42Forge.sol       ← token BEP-20 (commenté)
  Counter.*            ← exemple template (optionnel)
test/
  FGC42Forge.ts        ← tests du token
ignition/modules/
  FGC42Forge.ts        ← deploy Ignition
hardhat.config.ts      ← réseaux + Solidity
.env.example           ← modèle secrets
package.json           ← dépendances npm

Documentation utilisateur (MetaMask, transfers) : ../documentation/README.md