# Étape 1 — Cadrage + wallet testnet (tBNB) > **Sujet (chapitre IV) :** choisir une blockchain ; nom du token avec **`42`** ; **pas d’argent réel** — test chains + faucet (chapitre I). > **Pas encore de code** dans `tokenizerRendu/code/` — uniquement des **décisions** documentées côté travail. --- ## Ce que le sujet exige à ce stade | Exigence PDF | Action étape 1 | |--------------|----------------| | Plateforme blockchain | Choisir et noter : **BNB Smart Chain Testnet** (recommandé partenariat BNB) | | Nom avec `42`, pas d’insultes | Choisir **nom** + **symbole** (ticker) | | Standard de la chaîne | Noter : **BEP-20** (équivalent ERC-20 sur BSC) | | Pas de vrai argent | Wallet **dédié test** + **tBNB** via faucet uniquement | | README choix (plus tard) | Préparer les décisions ici ; README école à l’étape 5 | --- ## À faire (checklist) ### A. Décisions produit (à écrire dans [decisions-projet.md](../decisions-projet.md)) - [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 — voir [marche à suivre détaillée](#marche-à-suivre-metamask-chrome--faucet-tbnb) ci-dessous ### C. Faucet tBNB — idem section détaillée ### D. Sécurité (dès maintenant) - [ ] Ne **pas** committer `.env` ni clé privée (`.gitignore` rendu déjà prévu) - [ ] Ne pas partager la **seed phrase** dans le chat 42 / Discord / Git --- ## 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 : 1. « Étape 1 terminée » 2. Le **nom** et **symbole** du token 3. Confirmation : **tBNB** visible (sans donner ta clé privée) 4. *(Optionnel)* les 4 premiers caractères de ton adresse publique pour qu’on vérifie que `decisions-projet.md` est cohérent L’assistant lira [decisions-projet.md](../decisions-projet.md) et validera avant l’**étape 2** (projet Hardhat dans `tokenizerRendu/code/`). --- ## Références - [Sujet — partie obligatoire](../../sujets/tokenizer.md#chapitre-iv--partie-obligatoire) - [BNB / faucet](../../sujets/tokenizer.md#faucet-testnet) - [BEP-20 / ERC-20](../../sujets/tokenizer.md#erc-20-et-bep-20-éclaircissement)