Skip to content

Hardhat

jmTT edited this page Jan 9, 2026 · 2 revisions

Hardhat

Prรฉsentation : Hardhat est un environnement de dรฉveloppement Ethereum (EVM) destinรฉ ร  concevoir, tester, dรฉployer et dรฉboguer des smart contracts de maniรจre fiable et reproductible.


Vulgarisation : ร  quoi sert Hardhat ?

Dรฉvelopper des smart contracts nรฉcessite plus quโ€™un simple compilateur.
Hardhat fournit un cadre de travail complet permettant de :

  • compiler des contrats Solidity,
  • lancer une blockchain locale,
  • รฉcrire et exรฉcuter des tests automatisรฉs,
  • dรฉployer des contrats sur des rรฉseaux locaux, testnet ou mainnet,
  • inspecter prรฉcisรฉment les erreurs et le gas consommรฉ.

Hardhat joue le rรดle dโ€™un รฉquivalent blockchain dโ€™un framework backend.


Pourquoi utiliser Hardhat dans le projet ?

Problรฉmatiques adressรฉes

  • Tester des contrats avant tout dรฉploiement rรฉel.
  • Simuler des tournois et des transactions en local.
  • Garantir la reproductibilitรฉ des dรฉploiements.
  • Sรฉcuriser les รฉvolutions du smart contract.

Apports concrets

  • Cycle de dรฉveloppement rapide (compile โ†’ test โ†’ deploy).
  • Intรฉgration native avec TypeScript.
  • Outils de debug avancรฉs.
  • Compatible Avalanche (EVM).

Important

Aucun smart contract ne doit รชtre dรฉployรฉ sans tests automatisรฉs.


Pourquoi Hardhat plutรดt quโ€™un autre outil ?

Avantages clรฉs

  • Standard de facto dans lโ€™รฉcosystรจme Ethereum.
  • Configuration explicite et lisible (hardhat.config.ts).
  • Blockchain locale intรฉgrรฉe.
  • Trรจs bon support TypeScript.
  • ร‰cosystรจme mature de plugins.

Comparaison rapide

  • Plus flexible que Truffle.
  • Plus simple ร  prendre en main que Foundry pour un projet acadรฉmique.
  • Excellent compromis entre pรฉdagogie et industrialisation.

Rรดle de Hardhat dans le projet

Dans le cadre du projet :

  • Compilation des smart contracts Solidity.
  • Dรฉploiement du contrat GameStorage.
  • Tests unitaires des fonctions critiques.
  • Simulation de lโ€™enregistrement des snapshots de tournoi.
  • Dรฉploiement sur Avalanche Fuji.

Hardhat constitue le socle outillage blockchain du projet.


Installation and configuration

npm install --save-dev hardhat @nomicfoundation/hardhat-toolbox

Initialisation

npx hardhat init

Configuration

Exemple de configuration simplifiรฉe pour Avalanche Fuji :

import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";

const config: HardhatUserConfig = {
  solidity: "0.8.20",
  networks: {
    fuji: {
      url: process.env.AVALANCHE_RPC_URL,
      accounts: [process.env.BLOCKCHAIN_PRIVATE_KEY!],
    },
  },
};

export default config;

!WARNING] Les clรฉs privรฉes doivent impรฉrativement รชtre fournies via des variables dโ€™environnement.


Use cases

Note

Hardhat permet de lancer une blockchain locale identique ร  un rรฉseau rรฉel.

Important

Les tests garantissent que le hash stockรฉ on-chain correspond aux donnรฉes off-chain.

Tip

Les scripts Hardhat facilitent le redรฉploiement automatique des contrats.

Caution

Un contrat dรฉployรฉ est immuable : toute erreur impose un nouveau dรฉploiement.


Doโ€™s & Donโ€™ts

โœ… Do โŒ Donโ€™t
ร‰crire des tests unitaires Dรฉployer sans tests
Utiliser une blockchain locale Tester directement sur testnet
Versionner les scripts Versionner des secrets
Documenter les dรฉploiements Modifier un contrat en production

Ressources

Type Ressource Notes
๐Ÿ“„ https://hardhat.org/docs Documentation officielle
๐Ÿ’ป https://github.com/NomicFoundation/hardhat Repository GitHub
๐Ÿ’ก Hardhat + Ethers.js Intรฉgration backend
๐Ÿ“˜ Ethereum Smart Contract Dev Bonnes pratiques

๐Ÿ—๏ธ Architecture

๐ŸŒ Web Technologies

Backend

Frontend

๐Ÿ”ง Core Technologies

๐Ÿ” Security

โ›“๏ธ Blockchain

๐Ÿ› ๏ธ Dev Tools & Quality


๐Ÿ“ Page model

Clone this wiki locally