Voir DEBUG & AUTOMATISER LES TEST

On va aller dans le fichier hardhat.config.js

require("@nomiclabs/hardhat-waffle");

// This is a sample Hardhat task. To learn how to create your own go to
// <https://hardhat.org/guides/create-task.html>
task("accounts", "Prints the list of accounts", async (taskArgs, hre) => {
  const accounts = await hre.ethers.getSigners();

  for (const account of accounts) {
    console.log(account.address);
  }
});

// You need to export an object to set up your config
// Go to <https://hardhat.org/config/> to learn more

/**
 * @type import('hardhat/config').HardhatUserConfig
 */
module.exports = {
  solidity: "0.8.4",
};

On va modifier l’export au niveau de la derniere ligne

/**
 * @type import('hardhat/config').HardhatUserConfig
 */
module.exports = {
  solidity: {
    version: "0.8.4",
    settings: {
      optimizer: {
        enabled: true,
        runs: 200
      }
    }
  },
  paths: {
    artifacts: "./artifacts"
  },
  networks: {
    rinkeby: {
      // infura url
      url: "XXXXXX",
      // private key from metamask
      accounts: ["XXXXX"]
    }
  },
  etherscan: {
    apiKey: "XXXXXXXX"
  }
};

Le parametre run est a configurer selon si notre contract va être beaucoup utilisé ou beaucoup déployé, plus le nombre est bas plus le cout de deploiement sera faible, mais le cout des fonctions va être plus élevé , et inversement.

Valeur par defaut = 200

Le path pour modifier la valeur par defaut de différents fichiers

POUR DEPLOYER LE CONTRACT

On va entrer dans le terminal et saisir

npx hardhat run ./scripts/sample-script.js --network-rinkeby

Ensuite rdv sur https://rinkeby.etherscan.io/ pour observer notre contract

On peux se rendre compte que dans l’onglet “contract” dans le detail de notre contract , on ne peux pas voir le code ni l’onglet “read functions” ni “write functions”

Pour cela il faut valider notre compte donc rdv sur etherscan.io, on creer un compte et dans les parametres on va creer une apiKey

Puis la renseigner dans notre fichier de config hardhat