Déploiement d'un stablecoin USDC sur le réseau Ethereum Linea avec support complet des fonctionnalités ERC20.
- Node.js (v16 ou supérieur)
- npm ou yarn
- Une clé privée Ethereum avec des ETH pour les gas fees
- Compte Lineascan API (optionnel, pour vérification)
git clone https://github.com/jores915/USDC.git
cd USDC
npm installSi vous avez une erreur d'incompatibilité de dépendances:
npm install --legacy-peer-depscp .env.example .envLINEA_RPC_URL=https://rpc.goerli.linea.build/
PRIVATE_KEY=votre_clé_privée_ici
DEPLOYER_ADDRESS=0x579862EE1f4f36028679ce5a22e19104610204D2
ETHERSCAN_API_KEY=votre_clé_api_lineascan_ici.env (il est dans .gitignore)
npm run deploy:linea-testnetOutput attendu:
✅ USDC deployed to: 0x...
📊 Deployment info saved to: deployments/59140-....json
npm run deploy:linea-mainnet# Exécuter les tests
npm test
# Avec rapport de gas
npm run gas-report- ✅ Transfer
- ✅ TransferFrom
- ✅ Approve
- ✅ Allowance
- ✅ Minting: Créer nouveaux tokens (owner uniquement)
- ✅ Burning: Détruire tokens
- ✅ Snapshots: Historique des balances à des hauteurs de bloc spécifiques
- ✅ Permit: Signatures EIP-2612 pour approvals hors-chaîne
- ✅ Ownable: Contrôle d'accès basé sur le propriétaire
| Paramètre | Valeur |
|---|---|
| Nom | USD Coin |
| Symbole | USDC |
| Décimales | 6 |
| Supply Initial | 1,000,000 USDC |
- Chain ID: 59140
- RPC: https://rpc.goerli.linea.build/
- Explorer: https://goerli.lineascan.build/
- Faucet: https://faucet.goerli.linea.build/
- Chain ID: 59144
- RPC: https://rpc.linea.build/
- Explorer: https://lineascan.build/
USDC/
├── contracts/
│ └── USDC.sol # Contrat principal
├── scripts/
│ └── deploy.js # Script de déploiement
├── test/
│ └── USDC.test.js # Tests unitaires
├── hardhat.config.js # Configuration Hardhat
├── package.json # Dépendances
├── .env.example # Variables d'environnement (exemple)
└── README.md # Cette documentation
npm test # Exécuter les tests
npm run compile # Compiler les contrats
npm run deploy:linea-testnet # Déployer sur testnet
npm run deploy:linea-mainnet # Déployer sur mainnet
npm run verify:testnet # Vérifier sur testnet
npm run verify:mainnet # Vérifier sur mainnet
npm run gas-report # Rapport d'utilisation de gasAprès déploiement, vérifiez votre contrat sur Lineascan:
npm run verify:linea-testnet -- 0x... constructor_args.jsawait usdc.mint(address, amount);await usdc.burn(amount);const snapshotId = await usdc.snapshot();await usdc.transfer(to, amount);npm installnpm install --legacy-peer-deps- Utilisez d'abord le testnet pour développer
- Ajustez
gasPricedanshardhat.config.js - Attendez les heures creuses
- Vérifiez que votre wallet a assez d'ETH
- Vérifiez que votre
PRIVATE_KEYest correct - Vérifiez la configuration réseau
MIT License - Voir LICENSE file
Pour des questions ou problèmes:
- Vérifiez la documentation ci-dessus
- Consultez les logs d'erreur complets
- Ouvrez une issue sur GitHub
Deployed on Linea Network 🚀