Créer une plateforme de trading NFT décentralisée à partir de zéro
Pour les actifs NFT conformes au protocole ERC-721, la manière de réaliser des transactions décentralisées a toujours été un point focal dans l'industrie. Actuellement, la plupart des places de marché NFT utilisent un modèle d'ordre, similaire à des produits exposés sur les étagères d'un supermarché pour que les acheteurs puissent choisir. Cet article mettra en œuvre un système de transaction NFT décentralisé de base via le développement de contrats intelligents et une interface frontale simple. Il est à noter que ce système est uniquement destiné à des fins d'apprentissage et ne doit pas être utilisé directement en production.
Introduction aux NFT
NFT est un jeton non fongible, conforme à la norme de protocole ERC-721. Chaque NFT est unique et est généralement affiché dans un portefeuille sous forme de différentes images, et possède un ID unique pour la distinction.
En raison des caractéristiques des NFT, il n'est pas possible de fixer le prix de transaction comme avec les jetons ERC-20 via une courbe de prix. La méthode de trading courante est de recourir à un livre de commandes.
Mode de négociation sur carnet de commandes
Il existe principalement deux types de modèle de carnet de commandes :
Ordre de prix : le vendeur fixe le prix, l'acheteur peut acheter s'il le trouve approprié.
Commande d'achat : l'acheteur publie un ordre d'achat, le vendeur peut vendre dès qu'il accepte le prix.
Cet article se concentrera sur le modèle de commande de prix.
Fonctionnalités clés de la plateforme NFT
Une plateforme de NFT de base devrait inclure les fonctionnalités suivantes :
Mettre en vente des produits : les utilisateurs peuvent mettre des NFT en vente à un prix déterminé.
Acheter des produits : Les utilisateurs peuvent acheter des NFT au prix de mise en vente.
Frais de plateforme : un certain pourcentage des frais est facturé sur le prix de transaction.
processus de mise en ligne
Front-end : l'utilisateur sélectionne le NFT et fixe le prix
Contrat : l'utilisateur autorise le contrat à opérer des NFT
Un tableau de correspondance des prix des produits mis en vente doit être maintenu dans le contrat.
processus d'achat
Frontend : L'utilisateur choisit le NFT qu'il souhaite acheter
Contrat : transférer les fonds de l'acheteur au vendeur, NFT transféré à l'acheteur
Développer une plateforme NFT
1. Créer un NFT de test
Vous pouvez utiliser Remix pour déployer rapidement un contrat NFT basé sur le protocole ERC-721 pour des tests.
2. Rédiger le contrat de plateforme de transaction
Le contrat doit implémenter les méthodes principales suivantes :
2.1 Vendeur met en vente NFT
Vérifier la propriété des NFT
Ajouter un enregistrement de mise en ligne
Déclencher un événement de mise en vente
2.2 L'acheteur achète NFT
Lire les données NFT
Calculer et déduire les frais
Transférer le NFT à l'acheteur
Déclencher un événement d'achat
2.3 Annuler la mise en vente
Marquer l'enregistrement de mise en ligne comme invalide
2.4 Retrait des frais
Transférer les frais accumulés
3. Développement de l'interface frontale
Utilisez les outils suivants :
Ant Design Web3: connecter un portefeuille, afficher NFT
Wagmi: interaction avec le portefeuille
Next.js + Vercel : déployer le projet
Page principale:
Mint:铸造测试NFT
Acheter: marché NFT
Portfolio: gestion des NFT des utilisateurs
3.1 Connecter le portefeuille
Utiliser les composants Ant Design Web3 pour mettre en œuvre la fonctionnalité de connexion au portefeuille.
3.2 Page de Mint
Appeler la méthode Mint du contrat pour créer un NFT.
3.3 Page de portefeuille
Afficher tous les NFT de l'utilisateur
Prise en charge des opérations de mise en ligne et de retrait des NFT
Avant la mise en ligne, il est nécessaire d'autoriser le NFT au contrat
3.4 Page d'achat
Afficher tous les NFT répertoriés
Réaliser la fonction d'achat de NFT
Enfin, déployez le front-end sur Vercel pour compléter une plateforme d'échange NFT décentralisée de base.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Développement complet d'une plateforme d'échange NFT décentralisée à partir de zéro
Créer une plateforme de trading NFT décentralisée à partir de zéro
Pour les actifs NFT conformes au protocole ERC-721, la manière de réaliser des transactions décentralisées a toujours été un point focal dans l'industrie. Actuellement, la plupart des places de marché NFT utilisent un modèle d'ordre, similaire à des produits exposés sur les étagères d'un supermarché pour que les acheteurs puissent choisir. Cet article mettra en œuvre un système de transaction NFT décentralisé de base via le développement de contrats intelligents et une interface frontale simple. Il est à noter que ce système est uniquement destiné à des fins d'apprentissage et ne doit pas être utilisé directement en production.
Introduction aux NFT
NFT est un jeton non fongible, conforme à la norme de protocole ERC-721. Chaque NFT est unique et est généralement affiché dans un portefeuille sous forme de différentes images, et possède un ID unique pour la distinction.
En raison des caractéristiques des NFT, il n'est pas possible de fixer le prix de transaction comme avec les jetons ERC-20 via une courbe de prix. La méthode de trading courante est de recourir à un livre de commandes.
Mode de négociation sur carnet de commandes
Il existe principalement deux types de modèle de carnet de commandes :
Ordre de prix : le vendeur fixe le prix, l'acheteur peut acheter s'il le trouve approprié.
Commande d'achat : l'acheteur publie un ordre d'achat, le vendeur peut vendre dès qu'il accepte le prix.
Cet article se concentrera sur le modèle de commande de prix.
Fonctionnalités clés de la plateforme NFT
Une plateforme de NFT de base devrait inclure les fonctionnalités suivantes :
processus de mise en ligne
Un tableau de correspondance des prix des produits mis en vente doit être maintenu dans le contrat.
processus d'achat
Développer une plateforme NFT
1. Créer un NFT de test
Vous pouvez utiliser Remix pour déployer rapidement un contrat NFT basé sur le protocole ERC-721 pour des tests.
2. Rédiger le contrat de plateforme de transaction
Le contrat doit implémenter les méthodes principales suivantes :
2.1 Vendeur met en vente NFT
2.2 L'acheteur achète NFT
2.3 Annuler la mise en vente
2.4 Retrait des frais
3. Développement de l'interface frontale
Utilisez les outils suivants :
Page principale:
3.1 Connecter le portefeuille
Utiliser les composants Ant Design Web3 pour mettre en œuvre la fonctionnalité de connexion au portefeuille.
3.2 Page de Mint
Appeler la méthode Mint du contrat pour créer un NFT.
3.3 Page de portefeuille
3.4 Page d'achat
Enfin, déployez le front-end sur Vercel pour compléter une plateforme d'échange NFT décentralisée de base.