# Documentation utilisateur — FGC42Forge (FG42) Ce document permet de **comprendre** le token et de **l’utiliser** (wallet, transferts) sans lire le code Solidity. > Documentation **utilisateur** du token : à lire sans ouvrir le code Solidity. Le développement et les tests sont dans `code/` ; le déploiement on-chain est décrit dans `deployment/`. --- ## 1. Présentation **FGC42Forge** est un jeton **BEP-20** déployé sur **BNB Smart Chain Testnet** dans le cadre du projet 42 *Tokenizer*. | Élément | Valeur | |---------|--------| | **Nom** | FGC42Forge | | **Symbole** | FG42 | | **Standard** | BEP-20 (interface équivalente à l’ERC-20 sur l’EVM) | | **Décimales** | 18 | | **Offre totale** | 1 000 000 FG42 | **Rôle :** token de démonstration (tests, déploiement, wallet, explorateur de blocs). **Valeur :** aucune valeur monétaire réelle ; réseau de **test** uniquement. Le gas se paie en **tBNB**. **Offre et création de jetons :** les 1 000 000 FG42 ont été émis **une seule fois** lors du déploiement du contrat. Il n’existe **aucune fonction publique** pour en créer davantage après coup (*pas de mint*). Seuls les **transferts** entre comptes déplacent des FG42 déjà existants ; l’offre totale on-chain ne augmente pas. *FGC* : initiales du créateur du projet · **42** : contrainte du sujet · *Forge* : métaphore de la création du jeton au moment du deploy. --- ## 2. Réseau et adresse | Paramètre | Valeur | |-----------|--------| | **Réseau** | BNB Smart Chain **Testnet** | | **Chain ID** | `97` | | **Monnaie gas** | tBNB | | **Adresse du contrat** | `0x0c76df26A1149fDc22C8f994975705271b070fF4` | **Liens utiles :** - Page **contrat** : https://testnet.bscscan.com/address/0x0c76df26A1149fDc22C8f994975705271b070fF4 - Page **token** (supply, holders, transfers) : https://testnet.bscscan.com/token/0x0c76df26A1149fDc22C8f994975705271b070fF4 Données structurées du déploiement : [`../deployment/addresses.json`](../deployment/addresses.json). ### Contrat vérifié sur BscScan Le **code source** est publié sur l’explorateur (onglet **Contract** → code lisible). Utile en correction pour prouver que le déployé correspond au dépôt Git. | Élément | Détail | |---------|--------| | **Statut** | Vérifié (2026-10-20) | | **Tx de création** | [`0xb6a0…4072`](https://testnet.bscscan.com/tx/0xb6a0ec09d4db0e9f0686aca6ad5d8ca71cecaf8d43405eeed214736bb8574072) | | **Fiche technique complète** | [`../deployment/BSCSCAN_VERIFICATION.md`](../deployment/BSCSCAN_VERIFICATION.md) (compilateur, optimizer, fichier aplati) | ### Configurer MetaMask (réseau) Si le réseau n’est pas déjà présent : | Champ | Valeur | |-------|--------| | Nom du réseau | BNB Smart Chain Testnet | | RPC URL | `https://data-seed-prebsc-1-s1.binance.org:8545/` | | Chain ID | `97` | | Symbole | tBNB | | Explorateur | `https://testnet.bscscan.com` | Obtenir du **tBNB** : faucet BNB Chain testnet ou canaux officiels (Telegram @bnbchain_official_bot, etc.). --- ## 3. Guide d’utilisation ### MetaMask — rôle dans ce projet **MetaMask** est une extension navigateur qui joue le rôle de **portefeuille (wallet)** : elle stocke tes comptes (adresses `0x…`), te permet de **signer** des transactions et d’afficher les soldes (tBNB pour le gas, FG42 après import du token). Hardhat, dans `code/`, sert au **développement** (compile, tests, deploy) ; MetaMask sert à la **démo utilisateur** réelle sur BSC Testnet. Les deux utilisent le même type d’adresses EVM, mais ce dépôt ne met **jamais** la seed MetaMask dans Git — seule la clé du compte de deploy peut aller dans `code/.env` local pour Ignition. ### 3.1 Importer FG42 dans MetaMask 1. Ouvrir MetaMask sur le réseau **BNB Smart Chain Testnet**. 2. Menu **Tokens** → **Importer des tokens** (*Import tokens*). 3. Coller l’**adresse du contrat** : `0x0c76df26A1149fDc22C8f994975705271b070fF4` 4. Le symbole **FG42** et les **18** décimales se remplissent en général automatiquement → confirmer. Le compte qui a **déployé** le contrat détient initialement **1 000 000 FG42** (visible après import). Les autres comptes affichent **0** jusqu’à réception d’un transfer. ### 3.2 Consulter le token sur BscScan 1. Ouvrir la [page token](https://testnet.bscscan.com/token/0x0c76df26A1149fDc22C8f994975705271b070fF4). 2. Vérifier **Max Total Supply** : 1 000 000 FG42. 3. Onglet **Transfers** : historique des mouvements BEP-20. ### 3.3 Effectuer un transfert (MetaMask) **Prérequis :** le compte émetteur possède des FG42 et un peu de **tBNB** pour le gas. 1. MetaMask → actif **FG42** → **Envoyer** (*Send*). 2. Adresse du destinataire (autre compte test). 3. Montant (ex. `100` FG42) → confirmer la transaction. 4. Vérifier sur BscScan (onglet Transfers du token) et dans le wallet du destinataire (importer le token si besoin). **Note :** un transfer **ne crée pas** de nouveaux FG42 ; il déplace une partie de l’offre existante. --- ## 4. Sécurité et gouvernance | Sujet | Comportement de FGC42Forge | |-------|----------------------------| | **Testnet** | Jeton fictif ; ne pas utiliser de fonds mainnet sur les comptes de démo. | | **Supply** | Fixe à **1 000 000 FG42** après le deploy. | | **Mint** | Aucune fonction publique pour augmenter l’offre. | | **Burn** | Non implémenté dans ce contrat. | | **Owner** | Le contrat utilise **OpenZeppelin `Ownable`** : une adresse `owner()` (le déployeur au lancement) peut gérer le rôle admin (ex. `transferOwnership`), mais **sans** pouvoir mint des FG42 supplémentaires via ce contrat. | | **Clés privées** | Ne jamais partager seed phrase ni clé privée ; ne pas les committer dans Git. | Pour le modèle technique (Hardhat, OpenZeppelin, choix BSC), voir le [README racine](../README.md#choix-techniques). **Code commenté (revue en évaluation)** : [`../code/contracts/FGC42Forge.sol`](../code/contracts/FGC42Forge.sol) · index [`../code/README.md`](../code/README.md). --- ## 5. Whitepaper léger (rôle, fonctionnalités, limites) ### Vision **FGC42Forge (FG42)** est un jeton **BEP-20** pédagogique : il montre comment un actif numérique **fongible** vit on-chain (supply, transfers, lecture via wallet et explorateur), dans le respect du sujet 42 *Tokenizer* (testnet, nom avec **42**, pas d’argent réel). ### Fonctionnalités | Fonction | Disponible | Détail | |----------|------------|--------| | `name` / `symbol` / `decimals` | Oui | FGC42Forge, FG42, 18 | | `totalSupply` / `balanceOf` | Oui | Supply fixe 1 000 000 | | `transfer` / `approve` / `transferFrom` | Oui | Standard ERC-20 (BEP-20 sur BSC) | | Mint public après deploy | **Non** | Offre figée au constructeur | | Burn | Non | Non implémenté | | Pause / blacklist | Non | Hors périmètre | | Multisig (bonus sujet) | Non | Non retenu — voir README racine | ### Public cible - Évaluateurs et pairs : vérifier le contrat sur BscScan et tester un transfer. - Développeurs : cloner le dépôt, lire [`STACK-GLOSSAIRE-ET-PARCOURS.md`](STACK-GLOSSAIRE-ET-PARCOURS.md), exécuter les tests dans `code/`. ### Limites - **Testnet uniquement** — aucune valeur marchande ; tBNB et FG42 sont jetons d’essai. - **Pas de gouvernance on-chain** avancée : seul le modèle `Ownable` OpenZeppelin (sans mint). - **Dépendance wallet** : l’usage humain passe par MetaMask (ou tout wallet EVM compatible) ; le gas reste en **tBNB**, pas en FG42. ### Où aller plus loin dans ce dépôt | Besoin | Fichier | |--------|---------| | Outils (Hardhat, Solidity, alternatives) | [`STACK-GLOSSAIRE-ET-PARCOURS.md`](STACK-GLOSSAIRE-ET-PARCOURS.md) | | Choix techniques et pourquoi | [README racine](../README.md#choix-techniques) | | Code source commenté | [`../code/contracts/FGC42Forge.sol`](../code/contracts/FGC42Forge.sol) |