Réaliser une plateforme de trading NFT décentralisée à partir de zéro
Pour les NFT du protocole ERC-721, comment réaliser des transactions décentralisées ? Actuellement, les principales plateformes d'échange de NFT utilisent principalement un mode de commande, similaire à l'affichage de produits sur les étagères d'un supermarché, où les acheteurs peuvent acheter si le prix leur semble approprié.
Cet article expliquera comment réaliser des transactions décentralisées pour les NFT en écrivant des contrats intelligents et une simple page frontale. Il est important de noter que le contenu de cet article est uniquement à des fins d'apprentissage et ne convient pas à une utilisation directe en environnement de production.
NFT(Jeton Non Fongible)Présentation
NFT est un jeton non fongible, qui suit le protocole ERC-721, chaque jeton est unique. Les NFT affichent généralement différentes images dans le portefeuille, et chaque groupe de NFT a un ID unique pour la distinction.
En raison des caractéristiques des NFT, il n'est pas possible de fixer un prix par courbe de prix comme pour les jetons ERC-20. Par conséquent, la méthode de négociation la plus courante actuellement est d'utiliser un livre de commandes.
Mode de négociation sur livre d'ordres
Dans le mode carnet de commandes, le prix des produits est fixé par l'homme, contrairement à certains DEX qui calculent les prix par le biais de courbes de prix. Les carnets de commandes sont généralement divisés en deux modes de trading :
Ordre de prix : le vendeur fixe le prix de vente, l'acheteur peut acheter s'il le juge approprié.
Commande d'achat : l'acheteur émet un ordre d'achat, le vendeur peut vendre si le prix lui semble approprié.
En général, le prix des ordres d'achat sera inférieur à celui des ordres de prix. Cet article présente principalement le mode de transaction des ordres de prix.
Fonctionnalités de base de la plateforme de trading NFT Décentralisation
Une plateforme de trading NFT décentralisée de base devrait inclure les fonctionnalités suivantes :
Mettre en ligne des produits : Lister les NFT au prix fixé
Achat de produits : acheter selon le prix des NFT
Perception des frais: prélevés en fonction du pourcentage du prix de transaction
processus de mise en ligne des produits
Frontend : l'utilisateur choisit un NFT et fixe le prix, puis clique sur mettre en ligne
Contrat : l'utilisateur autorise l'opération de NFT par le contrat
Le contrat doit maintenir une table de correspondance des prix des produits mis en vente par les utilisateurs. Ces données peuvent également être stockées dans un service décentralisé pour alléger la charge du contrat, mais cet article les maintiendra dans le contrat.
Processus d'achat de biens
Front-end : l'utilisateur choisit l'NFT qu'il souhaite acheter, puis clique sur acheter
Contrat : Transférer les fonds de l'utilisateur au vendeur, NFT au buyer
Réaliser une plateforme de trading NFT décentralisée
Cette section mettra en œuvre une plateforme de交易 décentralisée NFT à partir de zéro.
1. Créer un contrat NFT
Pour les besoins du test, nous pouvons utiliser Remix pour déployer rapidement un contrat NFT basé sur le protocole ERC-721. Bien sûr, nous pouvons également utiliser un contrat NFT déjà prêt.
2. Rédiger un contrat de plateforme de transaction
Les contrats de la plateforme de trading doivent inclure les principales méthodes suivantes :
2.1 Vendeur met en ligne NFT
Processus de mise en ligne:
L'utilisateur choisit un NFT
Définir le prix ( en stablecoin ou en ETH )
Autoriser le NFT au contrat
Méthode de mise en ligne nécessaire :
Vérifier la propriété de l'NFT
Ajouter un enregistrement de mise en ligne
Déclencher l'événement de mise en ligne
2.2 L'acheteur achète un NFT
Processus d'achat:
Lire les données NFT à partir des listings
Calculer et déduire les frais
Transférer le NFT à l'acheteur
Déclencher l'événement d'achat
2.3 Annuler la mise en ligne
Il suffit de définir le champ isActive correspondant au NFT dans les listings sur false.
2.4 Retrait des frais
Retirer les frais accumulés dans le contrat à l'adresse spécifiée.
3. Développement de l'interface utilisateur de la plateforme de trading
Outils principaux utilisés :
Ant Design Web3 : connexion de portefeuille, affichage des cartes NFT
Wagmi: interaction avec le portefeuille
Next.js + Vercel : déployer le projet
L'interface utilisateur doit inclure trois pages : Mint, Buy et Portfolio.
3.1 Connecter le portefeuille
Utiliser le composant de connexion Ant Design Web3 pour réaliser la fonctionnalité de connexion du portefeuille.
3.2 Page de Mint
Utilisé pour frapper des NFT de test, en appelant la méthode useWriteContract de wagmi pour interagir avec le contrat.
3.3 Page de portefeuille
Gérer les NFT des utilisateurs, mettre en œuvre les fonctionnalités de mise en ligne et de retrait. Utiliser l'API d'Opensea pour obtenir la liste des NFT des utilisateurs, appeler le contrat pour déterminer l'état de mise en ligne des NFT.
3.4 Page d'achat
Afficher tous les NFT mis en vente, réaliser la fonction d'achat. Appeler la méthode purchaseNFT du contrat pour finaliser la transaction.
Après avoir complété les étapes ci-dessus, une plateforme de trading NFT décentralisée de base est réalisée. Elle peut être déployée sur des plateformes telles que Vercel pour y accéder.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
17 J'aime
Récompense
17
7
Reposter
Partager
Commentaire
0/400
DeadTrades_Walking
· 07-07 14:50
Encore une introduction pour les débutants sans connaissances, eau
Voir l'originalRépondre0
Ser_Liquidated
· 07-07 11:44
Il n'y a rien à apprendre, le Portefeuille est juste à connecter et c'est tout.
Voir l'originalRépondre0
NFTArchaeologis
· 07-05 06:00
Une simple tentative de développement par un passionné d'archéologie expérimenté
Voir l'originalRépondre0
DefiEngineerJack
· 07-05 05:57
*soupir* un autre tutoriel qui saute la vérification formelle...
Voir l'originalRépondre0
CommunityWorker
· 07-05 05:57
Apprendre c'est du pipeau, l'expérience pratique est la vraie vérité.
Guide complet pour créer une plateforme NFT de décentralisation à partir de zéro.
Réaliser une plateforme de trading NFT décentralisée à partir de zéro
Pour les NFT du protocole ERC-721, comment réaliser des transactions décentralisées ? Actuellement, les principales plateformes d'échange de NFT utilisent principalement un mode de commande, similaire à l'affichage de produits sur les étagères d'un supermarché, où les acheteurs peuvent acheter si le prix leur semble approprié.
Cet article expliquera comment réaliser des transactions décentralisées pour les NFT en écrivant des contrats intelligents et une simple page frontale. Il est important de noter que le contenu de cet article est uniquement à des fins d'apprentissage et ne convient pas à une utilisation directe en environnement de production.
NFT(Jeton Non Fongible)Présentation
NFT est un jeton non fongible, qui suit le protocole ERC-721, chaque jeton est unique. Les NFT affichent généralement différentes images dans le portefeuille, et chaque groupe de NFT a un ID unique pour la distinction.
En raison des caractéristiques des NFT, il n'est pas possible de fixer un prix par courbe de prix comme pour les jetons ERC-20. Par conséquent, la méthode de négociation la plus courante actuellement est d'utiliser un livre de commandes.
Mode de négociation sur livre d'ordres
Dans le mode carnet de commandes, le prix des produits est fixé par l'homme, contrairement à certains DEX qui calculent les prix par le biais de courbes de prix. Les carnets de commandes sont généralement divisés en deux modes de trading :
Ordre de prix : le vendeur fixe le prix de vente, l'acheteur peut acheter s'il le juge approprié.
Commande d'achat : l'acheteur émet un ordre d'achat, le vendeur peut vendre si le prix lui semble approprié.
En général, le prix des ordres d'achat sera inférieur à celui des ordres de prix. Cet article présente principalement le mode de transaction des ordres de prix.
Fonctionnalités de base de la plateforme de trading NFT Décentralisation
Une plateforme de trading NFT décentralisée de base devrait inclure les fonctionnalités suivantes :
processus de mise en ligne des produits
Le contrat doit maintenir une table de correspondance des prix des produits mis en vente par les utilisateurs. Ces données peuvent également être stockées dans un service décentralisé pour alléger la charge du contrat, mais cet article les maintiendra dans le contrat.
Processus d'achat de biens
Réaliser une plateforme de trading NFT décentralisée
Cette section mettra en œuvre une plateforme de交易 décentralisée NFT à partir de zéro.
1. Créer un contrat NFT
Pour les besoins du test, nous pouvons utiliser Remix pour déployer rapidement un contrat NFT basé sur le protocole ERC-721. Bien sûr, nous pouvons également utiliser un contrat NFT déjà prêt.
2. Rédiger un contrat de plateforme de transaction
Les contrats de la plateforme de trading doivent inclure les principales méthodes suivantes :
2.1 Vendeur met en ligne NFT
Processus de mise en ligne:
Méthode de mise en ligne nécessaire :
2.2 L'acheteur achète un NFT
Processus d'achat:
2.3 Annuler la mise en ligne
Il suffit de définir le champ isActive correspondant au NFT dans les listings sur false.
2.4 Retrait des frais
Retirer les frais accumulés dans le contrat à l'adresse spécifiée.
3. Développement de l'interface utilisateur de la plateforme de trading
Outils principaux utilisés :
L'interface utilisateur doit inclure trois pages : Mint, Buy et Portfolio.
3.1 Connecter le portefeuille
Utiliser le composant de connexion Ant Design Web3 pour réaliser la fonctionnalité de connexion du portefeuille.
3.2 Page de Mint
Utilisé pour frapper des NFT de test, en appelant la méthode useWriteContract de wagmi pour interagir avec le contrat.
3.3 Page de portefeuille
Gérer les NFT des utilisateurs, mettre en œuvre les fonctionnalités de mise en ligne et de retrait. Utiliser l'API d'Opensea pour obtenir la liste des NFT des utilisateurs, appeler le contrat pour déterminer l'état de mise en ligne des NFT.
3.4 Page d'achat
Afficher tous les NFT mis en vente, réaliser la fonction d'achat. Appeler la méthode purchaseNFT du contrat pour finaliser la transaction.
Après avoir complété les étapes ci-dessus, une plateforme de trading NFT décentralisée de base est réalisée. Elle peut être déployée sur des plateformes telles que Vercel pour y accéder.