Exploitez la puissance du contrat d’OpenZeppelin pour lancer votre développement de contacts intelligents, où que vous soyez
Table of Contentsi. Introduction
ii. Installing OpenZeppelin locally
iii. Importing contracts
iv. Remapping OpenZeppelin path
v. Conclusion
L’espace crypto vous offre un haut niveau de liberté pour concevoir votre propre architecture décentralisée pour n’importe quelle idée que vous avez, mais en embrassant l’écosystème, il y a certaines normes que vous devrez suivre pour créer correctement un actif jusqu’au . Des normes comme ERC20, ERC721, ERC1155 sont quelques-unes des spécifications techniques pour guider les fonctionnalités qu’un actif devrait avoir.
Pour suivre ces normes, vous pouvez soit consulter le papier des ERC et implémenter vous-même toutes les fonctions, soit utiliser les modèles de la communauté.
OpenZeppelin fournit des modèles de code prêts pour la production qui ont été testés et examinés par la communauté Ethereum et constituent une source fiable pour vous fournir une base sur laquelle construire votre projet.
Ce didacticiel est destiné à fournir des guides sur l’installation locale d’OpenZeppelin sur votre ordinateur. Si vous utilisez un IDE Web tel que Remix, cela ne sera pas nécessaire car ils sont déjà pris en charge par l’IDE en ligne.
Pour installer OpenZepplin, vous devez d’abord installer Node.js avec npm, vous pouvez le trouver ici sur le site officiel de Node.js si vous ne l’avez pas encore fait.
Après cela, l’installation est aussi simple que d’aller dans le répertoire racine de votre dossier de contrat et d’exécuter
npm install @openzeppelin/contracts
et vous êtes prêt à partir.
L’importation de contacts est également facile grâce à Solidity import
syntaxe, choisissez un modèle que vous souhaitez importer, tel que ERC20 ou certains de ses préréglages, ERC20PresetMinterPauser qui a mis en œuvre un accès basé sur les rôles, et incluez-le dans votre contrat,
// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22;...import "@openzeppelin/contracts/token/ERC20/ERC20.sol";...
et héritez du modèle dans votre contrat
contract Sample_Contract is ERC20 {...
Toutes les fonctionnalités du contrat parent seront désormais incluses dans votre contrat.
Avoir parfois OpenZepplin par défaut node_modules
chemin n’est pas idéal. La possibilité de configurer de manière personnalisée le chemin pour rechercher des contrats dans OpenZeppelin est nécessaire dans différents cas, comme avoir un monorepo, construire une structure de dossiers auto-définie, ou même avoir une configuration globale unique.
Un projet ne contient souvent pas seulement le composant de contrat intelligent, mais également des composants tels que le frontend, le backend, la base de données, etc. L’adoption d’une structure monorepo peut aider à fournir une meilleure organisation sur l’ensemble du projet.
Si vous n’êtes pas familier avec le concept de monorepo, vous pouvez en savoir plus ici. Pour faire simple, une structure monorepo signifie que tous les composants du projet sont mis et maintenus dans un référentiel unique.
Si vous installez uniquement les contrats dans votre dossier de contrats, vous vous rendrez compte qu’une fois que vous avez modifié la structure du dossier ou ouvert le projet dans votre dossier racine, votre IDE local ne peut plus analyser vos fichiers importés. Au lieu de cela, une erreur vous indiquant que les contrats sont introuvables apparaîtra.

Pour résoudre ces problèmes, vous pouvez créer un nouveau fichier dans votre dossier racine, ou quel que soit l’emplacement avec lequel vous prévoyez d’ouvrir votre projet, nommé remappings.txt
.
Dans ce fichier, y compris la ligne suivante,
@openzeppelin/=<path_to_your_installed_location>/@openzeppelin/
Cela indique à l’IDE où rechercher vos contrats installés et rechercher l’emplacement spécifié. Non seulement vous pouvez spécifier des contrats d’OpenZeppelin, mais vous pouvez également inclure des modules comme ChainLink,
@chainlink/=<path_to_your_installed_location>/@chainlink/
et d’autres.
Maintenant, l’erreur devrait disparaître après avoir spécifié le chemin pour rechercher les contrats,

Ceci est un guide très simple pour vous montrer comment remappings.txt
peut vous aider à mieux organiser votre importation. Vous pouvez également vous référer à mon monorepo qui a plusieurs projets Solidity, tous pointant vers le même chemin d’importation ici.
Bonne chance pour votre développement !