Files
tokenizer/docs/pedagogie/etapes/etape-04-deploy-testnet.md
2026-10-20 15:00:37 +02:00

76 lines
2.2 KiB
Markdown
Raw Permalink 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 4 — Déployer sur BSC Testnet + dossier `deployment/`
> **Prérequis :** étapes 1–3 ✅ (`FGC42Forge.sol`, tests Mocha OK, `bscTestnet` dans `hardhat.config.ts`, `.env` local).
> **Sujet :** déploiement sur **chaîne publique de test**, adresse + réseau dans le dépôt Git, explorer (BscScan).
---
## Objectif
Avoir le contrat **FGC42Forge** déployé sur **BNB Smart Chain Testnet** (chainId **97**), avec l’adresse documentée dans `tokenizerRendu/deployment/` et le README école.
---
## 4.1 — Module Ignition (déjà dans le repo)
Fichier : `tokenizerRendu/code/ignition/modules/FGC42Forge.ts`
Il déclare uniquement `m.contract("FGC42Forge")` : pas d’arguments, le constructeur Solidity fait le mint.
Vérifier la compile :
```bash
cd tokenizerRendu/code
npx hardhat build
```
---
## 4.2 — Lancer le déploiement (à faire **toi-même**)
```bash
cd tokenizerRendu/code
npx hardhat ignition deploy --network bscTestnet ignition/modules/FGC42Forge.ts
```
| Problème possible | Piste |
|-------------------|--------|
| `ENV_VAR_NOT_FOUND` / clé manquante | `code/.env` avec `PRIVATE_KEY` et `BSC_TESTNET_RPC` |
| `insufficient funds` | Recharger **tBNB** sur le compte deployer |
| Mauvais réseau | MetaMask pas requis ici ; Hardhat signe avec `PRIVATE_KEY` |
**Ne pas** coller la clé privée dans le chat.
---
## 4.3 — Enregistrer l’adresse
1. `cp deployment/addresses.json.example deployment/addresses.json`
2. Remplir `address`, `deployer`, `deployedAt`, `explorer` (URL BscScan).
3. Mettre à jour `tokenizerRendu/README.md` (table Token).
---
## 4.4 — Vérifier sur BscScan (sujet)
- Ouvrir l’adresse sur https://testnet.bscscan.com/
- Vérifier **nom / symbole** du token si l’explorer les affiche.
- Option **Verify and Publish** : publier le **code source** (fichier aplati ou standard JSON).
---
## Livrable pour vérification (chat)
1. « Étape 4 deploy OK »
2. Adresse du contrat `0x...` (publique)
3. Lien BscScan
4. Confirmation : `deployment/addresses.json` rempli, pas de secret commité
---
## Références
- [deployment/README.md](../../../tokenizerRendu/deployment/README.md)
- [decisions-projet.md](../decisions-projet.md)
- [sujet ch. IV](../../sujets/tokenizer.md)