Files
tokenizer/docs/pedagogie/etapes/etape-02-init-hardhat.md
2026-10-20 09:07:47 +02:00

114 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Étape 2 — Initialiser Hardhat dans `tokenizerRendu/code/`
> **Sujet (ch. IV) :** dossier **`code/`** à la racine du dépôt école ; maîtriser la toolchain (Hardhat cité) ; code commenté plus tard (étape 3).
> **Prérequis :** étape 1 ✅ (réseau BSC Testnet 97, tBNB sur **FGC_account**).
---
## Objectif
Avoir un projet **Node + Hardhat** compilable dans `tokenizerRendu/code/`, prêt pour le contrat **FGC42Forge** (étape 3).
---
## À faire (checklist)
### A. Environnement
- [ ] **Node.js** ≥ 18 : `node -v` dans le terminal
- [ ] Répertoire de travail : `tokenizerRendu/code/`
### B. Créer le projet Hardhat
Depuis la racine du dépôt tokenizer :
```bash
cd tokenizerRendu/code
npm init -y
npm install --save-dev hardhat @nomicfoundation/hardhat-toolbox
npx hardhat init
```
Lors de `hardhat init`, choisir :
- **Create a TypeScript project** ou **JavaScript** (les deux conviennent ; JavaScript = plus simple pour 42)
- Générer un `hardhat.config` et un exemple `contracts/Lock.sol` — tu pourras **supprimer** `Lock.sol` à l’étape 3
Puis :
```bash
npm install @openzeppelin/contracts
```
### C. Configurer BSC Testnet (sans déployer encore)
Dans `hardhat.config.js`, ajouter le réseau (les clés viendront du `.env` à l’étape 4) :
```javascript
require("@nomicfoundation/hardhat-toolbox");
require("dotenv").config();
module.exports = {
solidity: "0.8.24",
networks: {
bscTestnet: {
url: process.env.BSC_TESTNET_RPC || "https://data-seed-prebsc-1-s1.binance.org:8545/",
chainId: 97,
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [],
},
},
};
```
```bash
npm install dotenv
```
Créer **`tokenizerRendu/code/.env`** (jamais commité) :
```env
BSC_TESTNET_RPC=https://data-seed-prebsc-1-s1.binance.org:8545/
PRIVATE_KEY=0x... # MetaMask → FGC_account → Détails → Afficher clé privée (compte TEST uniquement)
```
Créer **`tokenizerRendu/code/.env.example`** (sans vraie clé) pour le rendu :
```env
BSC_TESTNET_RPC=https://data-seed-prebsc-1-s1.binance.org:8545/
PRIVATE_KEY=
```
Vérifier que `code/.gitignore` contient `.env` (ou le `.gitignore` parent du rendu).
### D. Vérifier que tout compile
```bash
npx hardhat compile
```
→ doit se terminer sans erreur (même avec le contrat exemple Lock).
### E. Mettre à jour `code/README.md`
Courte section : comment `npm install`, `npx hardhat compile`, où est le `.env.example`.
---
## Livrable pour vérification
Envoie dans le chat :
1. « Étape 2 terminée »
2. Résultat de `npx hardhat compile` (succès)
3. Confirmation : `.env` **non** commité, `.env.example` présent
**Ne pas envoyer** la clé privée dans le chat.
---
## Références
- [decisions-projet.md](../decisions-projet.md) — FGC42Forge / FG42
- [guide-realisation.md](../guide-realisation.md) — étape 2
- Sujet : dossier `code/` — [tokenizer.md](../../sujets/tokenizer.md#code-)