tokencreation

This commit is contained in:
2026-10-20 09:07:47 +02:00
parent 2eab06bc43
commit a56942de12
6 changed files with 316 additions and 40 deletions

View File

@@ -0,0 +1,113 @@
# É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-)