2.2 KiB
2.2 KiB
Code — FGC42Forge (Hardhat 3)
Sources du token FGC42Forge (symbole FG42), standard BEP-20, déploiement prévu sur BNB Smart Chain Testnet (chainId 97).
Stack : Solidity, Hardhat 3, OpenZeppelin, tests Mocha + ethers et tests Solidity (.t.sol).
BEP-20 vs ERC20 dans le code
- Rendu / soutenance : token BEP-20 sur BNB Smart Chain Testnet (chainId 97).
- Code : héritage OpenZeppelin
ERC20— norme EVM identique en pratique ; pas de bibliothèqueBEP20séparée. - Après deploy : BscScan classera le contrat en BEP-20 ; le code source utilise toujours
import {ERC20} from "@openzeppelin/contracts/...".
Le dossier peut encore contenir l’exemple Counter (template Hardhat) en attendant nettoyage.
Prérequis
- Node.js ≥ 18 (Hardhat 3 recommande v22+)
- Compte testnet avec tBNB (ex. MetaMask, réseau BSC Testnet)
Installation
cd code
npm install
Variables d’environnement
Copier le modèle et remplir les valeurs localement (ne jamais committer .env) :
cp .env.example .env
| Variable | Description |
|---|---|
BSC_TESTNET_RPC |
URL RPC du testnet BSC (défaut dans .env.example) |
PRIVATE_KEY |
Clé privée du compte de test uniquement (préfixe 0x) |
Hardhat lit ces variables via hardhat.config.ts et dotenv.
Commandes utiles
Compiler les contrats :
npx hardhat build
Lancer tous les tests (exemple Counter, en attendant FGC42Forge) :
npx hardhat test
Tests séparés :
npx hardhat test solidity
npx hardhat test mocha
Réseau bscTestnet
Le réseau bscTestnet est déclaré dans hardhat.config.ts. Pour un déploiement (plus tard, avec Ignition ou un script) :
npx hardhat ignition deploy --network bscTestnet ignition/modules/FGC42Forge.ts
Voir aussi ../deployment/README.md.
Structure
contracts/ Contrats Solidity (+ tests .t.sol)
test/ Tests TypeScript (Mocha)
ignition/ Modules de déploiement Hardhat Ignition
scripts/ Scripts `hardhat run`
hardhat.config.ts