76 lines
2.2 KiB
Markdown
76 lines
2.2 KiB
Markdown
# É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)
|