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

@@ -21,30 +21,16 @@
### A. Décisions produit (à écrire dans [decisions-projet.md](../decisions-projet.md))
- [ ] **Nom du token** (contient `42`, ex. `School42Token`)
- [ ] **Symbole** (ex. `S42`) — court, style ticker
- [x] **Nom** / **symbole** validés : **`FGC42Forge`** / **`FG42`** (voir [decisions-projet.md](../decisions-projet.md))
- [ ] Compléter le reste des tableaux si pas déjà fait
- [ ] **Décimales** (souvent `18` — standard ERC-20)
- [ ] **Supply** : fixe au deploy **ou** mint réservé au owner (justifier en une phrase)
- [ ] **Chaîne** : BSC Testnet, **chainId `97`**
- [ ] **Stack prévue** : Solidity + Hardhat + OpenZeppelin (pour étape 2+)
### B. Wallet de test
### B. Wallet de test — voir [marche à suivre détaillée](#marche-à-suivre-metamask-chrome--faucet-tbnb) ci-dessous
- [ ] Installer **MetaMask** (ou Rabby, etc.) — navigateur ou mobile
- [ ] Créer ou utiliser un compte **uniquement pour le testnet** (pas de gros soldes mainnet)
- [ ] Ajouter le réseau **BNB Smart Chain Testnet** si absent :
- Nom : `BNB Smart Chain Testnet`
- RPC : `https://data-seed-prebsc-1-s1.binance.org:8545/`
- Chain ID : `97`
- Symbole : `tBNB`
- Explorer : `https://testnet.bscscan.com`
- [ ] Copier ton **adresse publique** (0x…) dans `decisions-projet.md` — **jamais** la phrase secrète / clé privée
### C. Faucet tBNB
- [ ] Aller sur [BNB Chain Testnet Faucet](https://www.bnbchain.org/en/testnet-faucet)
- [ ] Demander des **tBNB** sur ton adresse (parfois file d’attente ou limite — réessayer si besoin)
- [ ] Vérifier dans MetaMask : solde **tBNB** > 0 sur **BSC Testnet**
### C. Faucet tBNB — idem section détaillée
### D. Sécurité (dès maintenant)
@@ -53,6 +39,178 @@
---
## Pourquoi on ne « crée » pas le tBNB soi-même
| Question | Réponse |
|----------|---------|
| Peut-on **générer** du tBNB comme on écrira **FGC42Forge** plus tard ? | **Non** sur le **testnet public** : le **tBNB** est la **monnaie native** de la chaîne (gas). Seuls le **réseau** (validateurs) et les **faucets** officiels / communautaires en **envoient** à ton adresse `0x…`. |
| Et en local (Hardhat) ? | Sur une chaîne **locale** (`npx hardhat node`), Hardhat te donne des ETH de test **fictifs** — utile pour coder (étape 2–3), mais le **sujet 42** exige aussi un déploiement sur une **blockchain publique** + explorer ([ch. IV](../../sujets/tokenizer.md#déploiement-2ᵉ-dossier)). Il faudra donc du **vrai testnet** tBNB à un moment. |
| Pourquoi Discord / Telegram ? | Ce ne sont pas des « contournements » : la [doc officielle BNB](https://docs.bnbchain.org/bnb-smart-chain/developers/faucet/) liste **faucet web**, **Discord**, **Telegram** et faucets tiers. Quand le site [bnbchain.org testnet-faucet](https://www.bnbchain.org/en/testnet-faucet) demande **0,002 BNB mainnet**, les autres canaux restent la voie normale. |
| Exemple projet 42 | [BdClement/Tokenizer](https://github.com/BdClement/Tokenizer) (BEP-20, BSC Testnet 97) : *« I obtained tBNB via a faucet available on the **BNB Discord server** »* + deploy Truffle / Alchemy RPC. |
Le sujet PDF (ch. I) renvoie au **BNB Chain Faucet** : en 2025–2026 l’écosystème a **resserré** les faucets web (mainnet ou réserves vides). **Demander des tBNB** = étape d’intégration Web3 réaliste, pas une erreur de parcours.
---
## Marche à suivre MetaMask (Chrome) + faucet tBNB
> Retour d’expérience projet FGC — compte **`FGC_account`**, réseau **testnet 97**, faucet **BNB 0,3**.
### 1. Installer et créer le compte
| Étape | Action |
|-------|--------|
| 1 | Installer l’extension [MetaMask](https://metamask.io) depuis le **Chrome Web Store** (site officiel uniquement). |
| 2 | **Créer un wallet** avec un **mot de passe** (déverrouille l’extension sur ce PC). |
| 3 | **Sauvegarder la seed phrase** (12 mots) : Paramètres → Sécurité → **Révéler la phrase secrète de récupération** — noter sur papier, **jamais** Git / chat / `.env`. |
| 4 | Renommer le compte (optionnel) : ex. **`FGC_account`** — un compte dédié au projet Tokenizer. |
### 2. Comprendre réseau vs adresse
| Idée | Détail |
|------|--------|
| Menu du haut MetaMask | Liste de **réseaux** (Ethereum, BNB Chain, …), pas une « adresse BNB » différente par chaîne. |
| Même compte EVM | **`FGC_account`** a **une** adresse publique `0x…` sur Ethereum, BSC testnet, etc. |
| **BNB Chain** (sans « Testnet ») | Souvent le **mainnet** (chainId **56**) → **ne pas** utiliser pour ce projet. |
| **BNB Smart Chain Testnet** | chainId **97** → réseau du sujet + **tBNB**. |
### 3. Ajouter BNB Smart Chain Testnet (souvent absent par défaut)
**Méthode manuelle**
1. MetaMask → clic sur le **nom du réseau** en haut.
2. **Ajouter un réseau** → si besoin **Ajouter un réseau manuellement**.
3. Remplir :
| Champ | Valeur |
|-------|--------|
| Nom du réseau | `BNB Smart Chain Testnet` |
| URL RPC | `https://data-seed-prebsc-1-s1.binance.org:8545/` |
| ID de chaîne | `97` |
| Symbole | **`BNB`** (évite l’avertissement MetaMask) ou `tBNB` |
| Explorateur | `https://testnet.bscscan.com` |
4. Enregistrer → **basculer** sur ce réseau.
**Alternative :** [chainlist.org](https://chainlist.org) → activer **Include Testnets** → chercher BSC Testnet (97) → Add to MetaMask.
### 4. Copier l’adresse dans MetaMask (étape A)
1. Réseau sélectionné : **BNB Smart Chain Testnet** (en haut de l’extension).
2. Compte : **FGC_account**.
3. Sous le nom du compte tu vois une ligne du type **`0x1a2b…9f0c`** (tronquée).
4. Clique cette ligne **ou** les **trois points** → **Détails du compte** → bouton **Copier** / icône copier à côté de l’adresse.
5. Tu dois obtenir **une seule chaîne** : `0x` + **40** caractères (0–9, a–f) — **pas** d’espaces, **pas** de retour à la ligne.
**Ce n’est pas :** la seed (12 mots), la clé privée, le mot de passe MetaMask, l’URL RPC, le chainId `97`.
### 4 bis. Où coller l’adresse — et où **ne pas** la coller
```
MetaMask (FGC_account) ──copier 0x…──► SITE WEB du faucet ──► ton compte reçoit tBNB
│
└── PAS dans MetaMask "Ajouter réseau" (sauf URL RPC officielle, pas ton 0x)
```
| Endroit | Coller ton `0x…` ? | Pourquoi |
|---------|-------------------|----------|
| **Site faucet** — champ « Wallet address » / « Enter your address » | ✅ **OUI** | C’est **ici** que le site envoie les tBNB. |
| **Site faucet** — bouton « Connect wallet » | ✅ **OUI** (alternative) | MetaMask remplit l’adresse tout seul — souvent plus simple. |
| MetaMask → Ajouter réseau → **URL RPC** | ❌ **NON** | On met l’URL `https://data-seed-prebsc-1-s1…`, **pas** ton adresse. |
| MetaMask → Ajouter réseau → **Chain ID** | ❌ **NON** | On met `97`, pas `0x…`. |
| Fichier `.env` à l’étape 1 | ❌ **pas obligatoire** | Plus tard : **clé privée** (autre format), pas l’adresse seule pour Hardhat. |
| [decisions-projet.md](../decisions-projet.md) | ✅ **OUI** (suivi perso) | Pour documenter ton étape 1. |
| Barre de recherche **testnet.bscscan.com** | ✅ (pour **vérifier**) | Pas pour recevoir des tBNB — seulement pour voir ton solde. |
### 5. Faucet — QuickNode (recommandé si erreur mainnet)
1. Ouvre **dans Chrome** (pas dans MetaMask) : https://faucet.quicknode.com/binance-smart-chain/bnb-testnet
2. Vérifie que la page indique **Binance Smart Chain** + **Testnet** (pas Mainnet).
3. **Option 1 — la plus simple :** bouton **Connect wallet** → choisis **MetaMask** → compte **FGC_account** → autorise.
4. **Option 2 :** champ du type **« Drop in your wallet details »** / adresse → **colle** le `0x…` copié à l’étape 4.
5. Passe captcha / Continue → confirme la demande.
6. **Ne colle pas** l’adresse dans un menu déroulant « Token » (BNB/BTC) : le token **BNB** est ce qu’on **reçoit**, pas un champ d’adresse.
### 5 bis. Faucet officiel BNB (si tu l’utilises malgré tout)
1. Ouvrir [BNB Chain Testnet Faucet](https://www.bnbchain.org/en/testnet-faucet).
2. Grand champ **adresse du wallet** (souvent au centre) → **colle `0x…`**.
3. Ensuite seulement : choisir token **BNB** et montant **0,3** → bouton **Request** / **Send**.
- **Token : BNB** (sur testnet = **tBNB**, pas de valeur réelle).
- **Montant : 0,3 BNB** — suffisant pour deploy + démos.
- **Ne pas** choisir BTC / autres tokens pour ce projet (inutiles sur BSC testnet).
4. Valider (captcha / connexion si demandé).
5. Attendre 1–5 min → MetaMask sur réseau **Testnet** : solde **tBNB** ≈ 0,3.
6. Noter dans `decisions-projet.md` : **tBNB reçu : oui** + date.
### 6. Dépannage rapide
| Problème | Piste |
|----------|--------|
| Pas de « Testnet » dans la liste | Ajout **manuel** (§ 3), pas seulement « BNB Chain ». |
| Faucet OK mais solde 0 | Mauvais réseau sélectionné dans MetaMask (revenir à **97**). |
| Adresse invalide sur BscScan | Re-copier l’adresse sans espace. |
| Limite faucet | Réessayer plus tard (souvent 1× / 24 h). |
| **« less than 0.002 BNB on BSC Mainnet »** | Le [faucet BNB officiel](https://www.bnbchain.org/en/testnet-faucet) exige parfois un peu de **BNB mainnet** sur la même adresse — **inutile d’acheter** pour le sujet 42 (pas d’argent réel). Utiliser un **faucet alternatif** (§ 7). |
| **QuickNode : « Low balance for this chain and network »** + **Continue** grisé | Souvent le **faucet QuickNode est à sec** (plus de tBNB côté serveur), **pas** que tu as mal connecté MetaMask. Réessayer plus tard ou utiliser **Discord / Telegram** (§ 7 bis). |
### 7. Faucets alternatifs (sans BNB mainnet)
Aligné sujet : **testnet uniquement**, pas d’achat de BNB réel.
| Faucet | URL | Remarque |
|--------|-----|----------|
| **QuickNode** (recommandé) | https://faucet.quicknode.com/binance-smart-chain/bnb-testnet | Réseau **Testnet**, coller `0x…` ou connecter MetaMask ; pas de solde mainnet requis (cooldown ~12 h). |
| **Bot Telegram BNB Chain** | [@bnbchain_official_bot](https://t.me/bnbchain_official_bot) | Message du type : `I would like to get tBNB to my wallet 0x…` — voir [doc officielle](https://docs.bnbchain.org/bnb-smart-chain/developers/faucet/). |
| **Discord BNB Chain** | Serveur officiel (ticket support) | Même idée que Telegram — doc ci-dessus. |
| Chainstack | https://faucet.chainstack.com/bnb-testnet-faucet | **Évite** si tu n’as pas **0,002 ETH mainnet** (même type de blocage). |
Après toute source : vérifier le solde **tBNB** sur MetaMask (réseau **97**) et sur https://testnet.bscscan.com.
### 7 bis. Discord BNB Chain (si QuickNode + officiel bloqués)
Souvent le moyen le plus fiable quand les faucets web sont vides ou demandent du mainnet :
1. Rejoindre le **Discord officiel** BNB Chain (lien depuis [bnbchain.org](https://www.bnbchain.org/) ou [doc faucet](https://docs.bnbchain.org/bnb-smart-chain/developers/faucet/)).
2. Canal **#roles** → prendre le rôle **Developer** (ou les rôles proposés) pour voir **#testnet-faucet**.
3. Dans **#testnet-faucet** : commande **`/faucet`** → coller ton adresse `0x…` (compte **FGC_account**).
4. Limite typique : ~0,3 tBNB / jour.
**Telegram :** [@bnbchain_official_bot](https://t.me/bnbchain_official_bot) — message : `I would like to get tBNB to my wallet 0x…`
### 8 bis. Avertissement MetaMask « symbole du jeton natif » (tBNB vs BNB)
**Symptôme :** icône ⚠️ *« Il pourrait s’agir d’une arnaque »* — *vous avez saisi **tBNB** alors que le symbole attendu…*
| Cause | Ce n’est en général **pas** une arnaque si : |
|-------|---------------------------------------------|
| Tu as ajouté le réseau **manuellement** avec symbole **tBNB** | MetaMask compare au **registre** des chaînes (chainId **97** = symbole officiel souvent **BNB**, pas `tBNB`). |
| Ta tx BscScan est **Success** sur **Bsc Testnet** | Comme ta capture : 0,1 **BNB** reçu de `0xF2D4…` → `0xB6bE…` — c’est le **bon** testnet. |
**Correction (retour d’expérience FGC) :**
1. Vérifier le **nom exact** du réseau : **`BNB Smart Chain Testnet`** (pas de faute, pas d’espaces parasites dans RPC / chainId).
2. Chain ID **`97`**, explorer **testnet.bscscan.com**.
3. Symbole **`tBNB`** ou **`BNB`** selon ce que MetaMask accepte sans ⚠️ — les deux désignent le gas testnet.
4. Le solde (ex. **0,1 tBNB**) ne change pas après correction du réseau.
**À ne pas faire :** supprimer le réseau en paniquant ; **ne pas** « ignorer » des tx inconnues — ici tu as **vérifié** le hash sur testnet.bscscan.com.
### 9. BNB ou tBNB sur l’écran du faucet ?
Sur le **testnet**, quand le faucet affiche **« BNB »**, tu reçois bien du **tBNB** (gas de test). MetaMask peut l’afficher en **tBNB** une fois le réseau **Testnet (97)** sélectionné. Pas besoin d’une ligne « tBNB » séparée sur le site.
### 10. Fichier `.env` (pas à l’étape 1 obligatoire)
| Emplacement | Usage |
|-------------|--------|
| `tokenizer/.env` à la racine | Éviter d’y mettre la **seed** ; racine déjà dans `.gitignore`. |
| `tokenizerRendu/code/.env` | **Étape 2+** : `PRIVATE_KEY` du compte **test** pour Hardhat uniquement. |
**Ne jamais committer** `.env`. La clé privée (MetaMask → Détails du compte → Afficher la clé privée) = compte test seulement, plus tard pour deploy.
---
## Livrable pour demander la vérification
Quand tout est fait, envoie dans le chat :