This commit is contained in:
2026-10-20 10:48:13 +02:00
parent 5d32f0a3da
commit d2171d3f69
18 changed files with 3706 additions and 7 deletions

View File

@@ -1,14 +1,75 @@
# Code — smart contract(s)
# Code — FGC42Forge (Hardhat 3)
Place ici les sources du token (ex. `contracts/`, `hardhat.config.js`, tests).
Sources du token **FGC42Forge** (symbole **FG42**), standard **BEP-20**, déploiement prévu sur **BNB Smart Chain Testnet** (chainId **97**).
**Exigences sujet :** code commenté, noms de variables et fonctions explicites, standard **BEP-20** (ou équivalent documenté).
Stack : **Solidity**, **Hardhat 3**, **OpenZeppelin**, tests **Mocha + ethers** et tests Solidity (`.t.sol`).
## Commandes (à compléter)
> Le contrat `FGC42Forge.sol` sera ajouté à l’étape 3. Le dossier contient encore l’exemple **Counter** généré par `npx hardhat --init`.
```bash
# Exemple Hardhat — adapter
## Prérequis
- Node.js ≥ 18 (Hardhat 3 recommande v22+)
- Compte testnet avec **tBNB** (ex. MetaMask, réseau BSC Testnet)
## Installation
```shell
cd code
npm install
npx hardhat compile
```
## Variables d’environnement
Copier le modèle et remplir les valeurs **localement** (ne jamais committer `.env`) :
```shell
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 :
```shell
npx hardhat build
```
Lancer tous les tests (exemple Counter, en attendant FGC42Forge) :
```shell
npx hardhat test
```
Tests séparés :
```shell
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) :
```shell
npx hardhat ignition deploy --network bscTestnet ignition/modules/<module>.ts
```
Remplacer le module par celui du token une fois le contrat prêt.
## 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
```