Capitalisation boursière: $2.5836T -2.54%
Volume(24h): $100.9583B 21.53%
Indice de peur et de cupidité:

64 - Avidité

  • Capitalisation boursière: $2.5836T -2.54%
  • Volume(24h): $100.9583B 21.53%
  • Indice de peur et de cupidité:
  • Capitalisation boursière: $2.5836T -2.54%
Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos
Top Cryptospedia

Choisir la langue

Choisir la langue

Sélectionnez la devise

Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos

Comment rédiger un contrat intelligent pour les NFT ? (Bases de la solidité)

ERC-721 is Ethereum’s NFT standard, ensuring uniqueness via `tokenId`, enforcing ownership with `ownerOf`/`transferFrom`, and supporting metadata through `tokenURI`.

Feb 27, 2026 at 05:40 am

Comprendre la norme ERC-721

1. ERC-721 est une norme de jeton Ethereum largement adoptée, conçue spécifiquement pour les jetons non fongibles.

2. Il définit des fonctions de base telles queownerOf , transferFrom et approuver pour gérer la propriété d'actifs uniques.

3. Chaque contrat ERC-721 doit implémenter l'interface IERC721 et émettre des événements standardisés comme Transfer et Approval .

4. La prise en charge des métadonnées via la fonction tokenURI permet de lier chaque NFT à des fichiers JSON contenant le nom, la description et les URL des images.

5. La norme impose l'unicité en attribuant un tokenId uint256 distinct à chaque jeton au sein du même contrat.

Configuration de l'environnement de développement

1. Installez Node.js et npm pour gérer les dépendances et exécuter des outils locaux comme Hardhat ou Truffle.

2. Initialisez un nouveau projet avec npm init et installez OpenZeppelin Contracts en utilisant npm install @openzeppelin/contracts .

3. Configurez un projet Hardhat avec npx hardhat , en sélectionnant l'option exemple de projet pour générer des fichiers passe-partout.

4. Créez un fichier Solidity sous contracts/ , en le nommant MyNFT.sol et importez l'implémentation ERC721 d'OpenZeppelin.

5. Configurez un réseau de test local à l'aide de Hardhat Network ou connectez-vous à un réseau de test public comme Sepolia via les clés API Alchemy ou Infura.

Rédaction de la logique du contrat de base

1. Déclarez le contrat avec le contrat MyNFT est ERC721, ERC721URIStorage pour hériter des fonctionnalités essentielles et du stockage des métadonnées.

2. Définissez un constructeur qui transmet les arguments de nom et de symbole au constructeur parent ERC721 et définit une adresse de propriétaire.

3. Implémentez une fonction mint qui utilise _safeMint pour attribuer un nouveau tokenId à une adresse spécifiée et stocke son URI via _setTokenURI .

4. Ajoutez un contrôle d'accès pour que seul le propriétaire du contrat puisse appeler mint , en utilisant le modificateur Ownable d'OpenZeppelin.

5. Appliquez les limites de frappe en suivant l'offre totale avec une variable privée uint256 et en annulant si le plafond est dépassé.

Considérations relatives aux tests et au déploiement

1. Écrivez des scripts de test en JavaScript ou TypeScript à l'aide de la bibliothèque Ethers intégrée de Hardhat pour simuler la frappe, le transfert et l'interrogation de jetons.

2. Vérifiez le comportement avec des assertions vérifiant que OwnerOf renvoie l'adresse correcte et que tokenURI correspond aux chemins de métadonnées attendus.

3. Déployez le contrat à l'aide de la commande npx hardhat run scripts/deploy.js --network sepolia de Hardhat après avoir configuré les informations d'identification réseau.

4. Utilisez l'outil de vérification d'Etherscan pour soumettre le code source, la version du compilateur et les arguments du constructeur à des fins de transparence publique.

5. Stockez tous les URI de jetons sur une infrastructure décentralisée comme IPFS ou Arweave pour garantir une disponibilité permanente et inviolable des métadonnées.

Foire aux questions

Q : Puis-je modifier le tokenURI après le minting ? R : Oui, si votre contrat hérite de ERC721URIStorage et que vous implémentez une fonction avec un contrôle d'accès approprié pour appeler _setTokenURI .

Q : Que se passe-t-il si deux jetons ont des identifiants de jeton identiques dans le même contrat ? R : C'est impossible : l'ERC-721 exige que chaque tokenId soit globalement unique au sein du contrat ; les affectations en double seront annulées.

Q : Dois-je écrire ma propre fonction supportsInterface ? R : Non — L'implémentation ERC721 d'OpenZeppelin inclut une interface de support conforme qui renvoie vrai pour 0x80ac58cd (ERC-721) et 0x5b5e139f (ERC-721Metadata).

Q : Est-il sûr d'utiliser transferFrom sans vérifier le statut d'approbation ? R : L'implémentation d'OpenZeppelin ERC721 gère toutes les validations d'approbation en interne ; appeler transferFrom directement est sûr lorsqu’il est utilisé correctement.

Clause de non-responsabilité:info@kdj.com

Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!

Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.

Connaissances connexes

Que sont les jetons de l'écosystème NFT ? Pourquoi les projets NFT lancent-ils leurs propres jetons ?

Que sont les jetons de l'écosystème NFT ? Pourquoi les projets NFT lancent-ils leurs propres jetons ?

Aug 25,2026 at 09:59pm

Définition et fonctionnalités de base 1. Les jetons de l'écosystème NFT sont des jetons d'utilité ou de gouvernance natifs émis par des platef...

Qu'est-ce qu'un utilitaire NFT ? Qu’obtenez-vous réellement à part l’actif numérique ?

Qu'est-ce qu'un utilitaire NFT ? Qu’obtenez-vous réellement à part l’actif numérique ?

Aug 21,2026 at 09:40am

Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...

Qu'est-ce qu'un NFT dynamique ? L'image ou les métadonnées d'un NFT peuvent-elles changer au fil du temps ?

Qu'est-ce qu'un NFT dynamique ? L'image ou les métadonnées d'un NFT peuvent-elles changer au fil du temps ?

Aug 31,2026 at 06:20pm

Définition et mécanisme de base 1. Un NFT dynamique est un jeton non fongible dont les métadonnées sont modifiables par programme après la frappe. 2. ...

Qu'est-ce qu'une baisse NFT ? Comment trouver de nouvelles collections NFT avant qu’elles ne soient épuisées ?

Qu'est-ce qu'une baisse NFT ? Comment trouver de nouvelles collections NFT avant qu’elles ne soient épuisées ?

Aug 23,2026 at 02:40am

Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...

Qu'est-ce qu'un NFT Mint gratuit ? Le « gratuit » est-il vraiment gratuit après les frais d'essence ?

Qu'est-ce qu'un NFT Mint gratuit ? Le « gratuit » est-il vraiment gratuit après les frais d'essence ?

Aug 22,2026 at 10:00am

Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 5 % sur une fenêtre de 24 heures lors d'événements à forte l...

Qu'est-ce qu'un Pass NFT Mint ? Pourquoi certains projets en nécessitent-ils un avant la frappe ?

Qu'est-ce qu'un Pass NFT Mint ? Pourquoi certains projets en nécessitent-ils un avant la frappe ?

Aug 29,2026 at 09:00am

Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin impose un plafond d'approvisionnement fixe de 21 millions de pièces, avec de n...

Que sont les jetons de l'écosystème NFT ? Pourquoi les projets NFT lancent-ils leurs propres jetons ?

Que sont les jetons de l'écosystème NFT ? Pourquoi les projets NFT lancent-ils leurs propres jetons ?

Aug 25,2026 at 09:59pm

Définition et fonctionnalités de base 1. Les jetons de l'écosystème NFT sont des jetons d'utilité ou de gouvernance natifs émis par des platef...

Qu'est-ce qu'un utilitaire NFT ? Qu’obtenez-vous réellement à part l’actif numérique ?

Qu'est-ce qu'un utilitaire NFT ? Qu’obtenez-vous réellement à part l’actif numérique ?

Aug 21,2026 at 09:40am

Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...

Qu'est-ce qu'un NFT dynamique ? L'image ou les métadonnées d'un NFT peuvent-elles changer au fil du temps ?

Qu'est-ce qu'un NFT dynamique ? L'image ou les métadonnées d'un NFT peuvent-elles changer au fil du temps ?

Aug 31,2026 at 06:20pm

Définition et mécanisme de base 1. Un NFT dynamique est un jeton non fongible dont les métadonnées sont modifiables par programme après la frappe. 2. ...

Qu'est-ce qu'une baisse NFT ? Comment trouver de nouvelles collections NFT avant qu’elles ne soient épuisées ?

Qu'est-ce qu'une baisse NFT ? Comment trouver de nouvelles collections NFT avant qu’elles ne soient épuisées ?

Aug 23,2026 at 02:40am

Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...

Qu'est-ce qu'un NFT Mint gratuit ? Le « gratuit » est-il vraiment gratuit après les frais d'essence ?

Qu'est-ce qu'un NFT Mint gratuit ? Le « gratuit » est-il vraiment gratuit après les frais d'essence ?

Aug 22,2026 at 10:00am

Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 5 % sur une fenêtre de 24 heures lors d'événements à forte l...

Qu'est-ce qu'un Pass NFT Mint ? Pourquoi certains projets en nécessitent-ils un avant la frappe ?

Qu'est-ce qu'un Pass NFT Mint ? Pourquoi certains projets en nécessitent-ils un avant la frappe ?

Aug 29,2026 at 09:00am

Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin impose un plafond d'approvisionnement fixe de 21 millions de pièces, avec de n...

Voir tous les articles

User not found or password invalid

Your input is correct