Skip to content
LamizanaPublic

About

GOLD42 (G42): jeton BEP-20 déployé sur la BNB Smart Chain Testnet : contrat Solidity avec OpenZeppelin, guide de déploiement via Remix, tutoriel pas à pas et documentation. Projet Tokenizer (42 × BNB Chain).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BSC Testnet BEP-20 Solidity OpenZeppelin Remix IDE 42 × BNB Chain

GOLD42

NFT Zehd42

Projet Tokenizer (42 × BNB Chain)

Portfolio ZehdBox

Sommaire

Afficher le sommaire

À propos

GOLD42 (G42) est un jeton BEP-20. C'est le standard des tokens fongibles de la BNB Smart Chain, équivalent du célèbre ERC-20 d'Ethereum déployé sur le testnet dans le cadre du projet Tokenizer (partenariat 42 × BNB Chain).

Le contrat s'appuie sur l'implémentation ERC20 d'OpenZeppelin, est compilé en Solidity ^0.8.0, déployé depuis Remix via MetaMask, puis vérifié sur BscScan.

L'objectif est pédagogique : écrire, compiler, déployer et vérifier un smart-contract de bout en bout, sans jamais engager d'argent réel.

Ressource Lien
Fiche du projet (portfolio) ZehdBox
Tutoriel (portfolio) Zehdbox Tutoriel
Contrat vérifié BscScan : 0xB03B…dDb80

Spécifications du token

Propriété Valeur
Nom GOLD42
Symbole G42
Norme BEP-20 (ERC-20 d'OpenZeppelin)
Réseau BNB Smart Chain - Testnet (Chain ID : 97)
Décimales 18
Supply maximale 1 000 000 G42 (plafond absolu)
Supply initiale 800 000 G42 (80 %)
Langage Solidity ^0.8.0 · OpenZeppelin Contracts

Adresse du contrat


Fonctions principales

Fonction Rôle Accès
transfer(to, amount) Envoyer des G42 Tous
balanceOf(account) Consulter un solde Lecture
approve(spender, amount) Autoriser un tiers à dépenser pour vous Tous
allowance(owner, spender) Consulter une autorisation Lecture
transferFrom(from, to, amount) Dépenser via une autorisation Spender autorisé
mint(recipient, amount) Créer des G42 (dans la limite du plafond) Propriétaire
burn(amount) Détruire définitivement ses propres G42 Tous
transferOwnership(newOwner) Transférer la propriété du contrat Propriétaire

Les montants s'expriment en unités de base : 1 G42 = 10^18. Exemple : 100 G42 = 100000000000000000000.


Utilisation

Configurer MetaMask sur BSC Testnet

  1. MetaMask → Réseaux → Ajouter un réseau manuellement :
    • Nom du réseau : BSC Testnet
    • URL RPC : https://data-seed-prebsc-1-s1.binance.org:8545/
    • ID de chaîne : 97
    • Symbole : tBNB
    • Explorateur : https://testnet.bscscan.com
  2. Obtenir des tBNB gratuits via le faucet BNB Chain
  3. Importer le token G42 : coller l'adresse du contrat 0xB03B454DDa79A522603f2a21471A6bC6B24dDb80 (symbole et décimales détectés automatiquement)

Vérifier un solde

Depuis l'onglet Read Contract de BscScan :

  • balanceOf(<adresse>) → solde en unités de base (800000000000000000000000 = 800 000 G42)
  • totalSupply() → 800000000000000000000000 tant que mint() n'a pas été appelée
  • name() / symbol() / decimals() → GOLD42 / G42 / 18

Compilation et déploiement

  1. Ouvrir Remix IDE et créer un espace de travail.
  2. Ajouter le contrat contracts/GOLD42.sol dans Remix : l'import @openzeppelin/contracts/token/ERC20/ERC20.sol est résolu automatiquement.
  3. Compiler en Solidity ^0.8.0 (optimiseur activé par défaut, 200 runs).
  4. Onglet Deploy & Run → environnement Injected Provider - MetaMask, connecté à BSC Testnet.
  5. Cliquer sur Deploy, confirmer la transaction dans MetaMask, puis noter l'adresse du contrat et le hash de la transaction.
  6. Vérifier le contrat sur BscScan : coller le code source exact compilé (Solidity, fichier unique, version et licence identiques à Remix) et valider.

Le détail complet (paramètres de compilation, coût en gas, ABI et tests interactifs) est dans docs/deploiement.md.


Sécurité

  • Propriété explicite : seules les fonctions mint et transferOwnership sont restreintes au propriétaire (onlyOwner) ; personne d'autre ne peut créer de tokens.
  • Offre plafonnée : le total émis ne peut jamais dépasser 1 000 000 G42.
  • Transfert de propriété protégé : adresse zéro refusée + événement OwnershipTransferred émis pour tracer chaque changement.
  • Aucun privilège caché : pas de pause, pas de blacklist, pas de frais prélevés. Les détenteurs restent libres de leurs fonds.
  • Zéro argent réel : déploiement sur testnet uniquement.

Structure du dépôt

.
├── abi/
│   └── GOLD42.json              ABI du contrat déployé
├── contracts/
│   └── GOLD42.sol               contrat GOLD42 (Solidity ^0.8.0 + OpenZeppelin)
├── docs/
│   ├── blockchain.md            rappels sur la blockchain et la BNB Smart Chain
│   ├── bscscan.md               lire et vérifier un contrat sur BscScan
│   ├── deploiement.md           déploiement : outil, paramètres, coûts, tests
│   ├── gold42.md                fonctionnement détaillé du token
│   └── tutoriel.html            tutoriel complet, pas à pas
├── LICENSE
└── README.md

Documentation

Fichiers Descriptif
docs/gold42.md fonctionnement détaillé du token
docs/blockchain.md rappels sur la blockchain et la BNB Smart Chain
docs/bscscan.md lire et vérifier un contrat sur BscScan
docs/deploiement.md déploiement : outil, paramètres, coûts et tests
docs/tutoriel.html tutoriel complet, pas à pas (HTML)

Choix techniques

Pourquoi la BNB Smart Chain ?

Remix mis à part, la BNB Smart Chain est un réseau EVM : le contrat Solidity y fonctionne sans modification et l'écosystème d'outils est le même qu'Ethereum, pour des frais beaucoup plus faibles et un faucet de tBNB gratuits en testnet.

Pourquoi OpenZeppelin ?

L'implémentation ERC20 d'OpenZeppelin est auditée et fait référence : elle fournit transfer, approve, transferFrom et les événements du standard, sans réécrire à la main des mécanismes sensibles.

Pourquoi Remix ?

Remix est un IDE en ligne, sans installation, qui compile, teste sur machine virtuelle et déploie via MetaMask. C'est l'outil le plus direct pour un projet de cette taille, et celui recommandé par la documentation officielle de BNB Chain.

Pourquoi une supply partielle au déploiement ?

80 % de la supply (800 000 G42) est créée au déploiement au profit du propriétaire ; les 20 % restants (200 000 G42) peuvent être mintés ultérieurement par le propriétaire. Le plafond absolu de 1 000 000 G42 est gravé dans le contrat et impossible à dépasser. Ce choix rend la fonction mint() réellement fonctionnelle tout en garantissant une offre plafonnée et prévisible.


Contribuer

Le dépôt est avant tout un projet pédagogique 42 : propositions, corrections et remarques sont bienvenues via une issue ou une pull request.

Les messages de commit suivent Conventional Commits :

Préfixe Usage
feat nouvelle fonctionnalité (ex. : feat(contracts): ajoute la fonction burn)
fix correction de bug
docs documentation seule
chore maintenance (configuration, fichiers annexes)

Auteur

Alex Lamizana: étudiant 42 Angoulême, spécialisation Data & IA


Remerciements

  • OpenZeppelin : contrats Solidity audités (ERC20)
  • Remix IDE : compilation et déploiement
  • BscScan : exploration et vérification du contrat
  • BNB Chain : documentation et faucet testnet

Licence

Distribué sous licence MIT (SPDX : MIT) - voir LICENSE.

© 2026 Alex Lamizana


Ce projet a été réalisé conformément à la norme et au sujet officiel de 42.

About

GOLD42 (G42): jeton BEP-20 déployé sur la BNB Smart Chain Testnet : contrat Solidity avec OpenZeppelin, guide de déploiement via Remix, tutoriel pas à pas et documentation. Projet Tokenizer (42 × BNB Chain).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages