Pour les NFT suivant le protocole ERC-721, les méthodes de réalisation de la Décentralisation des transactions diffèrent de celles des jetons ERC-20. Actuellement, la plupart des plateformes de trading NFT utilisent un modèle d'enchères, semblable à l'exposition de produits sur les étagères d'un supermarché, où les acheteurs peuvent acheter les produits au prix qui leur convient.
Cet article mettra en œuvre une fonction de trading décentralisée de base pour les NFT en écrivant des contrats intelligents et une interface frontale simple. Il est à noter que le contenu de cet article est uniquement à des fins d'apprentissage et ne convient pas à un environnement de production réel.
Caractéristiques fondamentales des NFT
NFT est un jeton non fongible, chaque token est unique et suit le protocole ERC-721. En général, chaque NFT affichera une image différente dans le portefeuille, et chaque ensemble de NFT a un ID unique pour les distinguer.
En raison de cette caractéristique des NFT, il n'est pas possible de déterminer le prix comme pour les jetons ERC-20 via une courbe de prix. Par conséquent, la méthode de trading la plus courante actuellement est sous la forme d'un livre de commandes.
Mode de trading sur carnet d'ordres
Dans le mode carnet d'ordres, le prix des produits est fixé par des personnes, contrairement au mode de teneur de marché automatique où les prix sont calculés par des algorithmes. Le carnet d'ordres a généralement deux types de modes de transaction :
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 au prix des ordres de vente. Cet article se concentrera sur la méthode de transaction des ordres de vente.
Fonctionnalités de base de la DEX NFT
Un DEX NFT de base devrait inclure les fonctionnalités clés suivantes :
Mettre en vente des produits : Mettre les NFT en vente selon le prix fixé.
Acheter des biens : acheter au prix de l'NFT
Perception de frais : des frais sont prélevés au prorata du prix de la transaction.
Processus de mise en vente des produits
Pour mettre en ligne des produits, vous devez suivre les étapes suivantes:
Frontend : l'utilisateur choisit un NFT et fixe le prix, puis clique sur mettre en vente.
Contrat : l'utilisateur autorise les opérations de contrat sur le NFT.
Il est nécessaire de maintenir une table de correspondance des prix des produits mis en ligne par les utilisateurs dans le contrat. Ces données peuvent également être stockées dans un service centralisé pour alléger la charge du contrat, mais cet article les conserve dans le contrat.
Processus d'achat de biens
Lors de l'achat de produits, les éléments suivants se produiront :
Frontend : l'utilisateur choisit le NFT qu'il souhaite acheter, puis clique sur acheter.
Contrat : appeler le contrat, transférer les fonds de l'acheteur au vendeur et transférer l'NFT à l'acheteur.
Réaliser un DEX NFT
Nous allons maintenant créer un DEX NFT à partir de zéro.
1. Créer un NFT de test
Pour des besoins de test, nous pouvons utiliser Remix pour déployer rapidement un contrat NFT conforme au protocole ERC-721. Nous pouvons également utiliser des NFT déjà préparés pour les tests.
2. Rédiger des contrats intelligents
Le contrat doit inclure les principales méthodes suivantes :
2.1 Vendeur met en ligne NFT
Processus:
L'utilisateur choisit un NFT
Fixer le prix
Autoriser le NFT au contrat
Appeler la méthode de mise en ligne
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 Acheteur achète NFT
Processus d'achat :
Lire les données NFT
Calculer et déduire les frais de transaction
Transférer le NFT à l'acheteur
Déclencher un événement d'achat
2.3 Annuler la mise en vente
Il suffit de définir le champ isActive dans l'enregistrement de mise en vente sur false.
2.4 Retrait de frais
Retirer les frais accumulés dans le contrat à l'adresse spécifiée.
3. Développement de l'interface DEX
Outils principaux nécessaires pour le développement front-end :
Ant Design Web3: utilisé pour la connexion de portefeuille et l'affichage des NFT
Wagmi : utilisé pour interagir avec le portefeuille
Next.js + Vercel : déploiement de projet
L'interface utilisateur doit comprendre trois pages principales : Mint, Buy et Portfolio.
3.1 Connexion du portefeuille
Utiliser les composants Ant Design Web3 pour réaliser la fonctionnalité de connexion au portefeuille.
3.2 Page de Mint
Utilisé pour frapper un NFT de test, appelant le contrat avec la méthode useWriteContract de wagmi.
3.3 Page de portefeuille
Afficher les NFT détenus par l'utilisateur, prendre en charge les opérations de mise en ligne et de retrait.
Lors de la mise en vente, il faut appeler la méthode listNFT, et lors du retrait, appeler la méthode cancelListing. Avant la mise en vente, il est nécessaire d'autoriser le NFT au contrat.
3.4 Page d'achat
Afficher tous les NFT listés, supportant les opérations d'achat.
Appelez la méthode purchaseNFT lors de l'achat et payez le montant correspondant en ETH.
Après avoir complété les étapes ci-dessus, un DEX NFT de base est réalisé. Il peut être déployé sur des plateformes comme Vercel pour des tests et une utilisation.
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.
10 J'aime
Récompense
10
7
Partager
Commentaire
0/400
RugPullProphet
· 07-08 04:56
Il n'est pas nécessaire de se torturer autant pour le frontend.
Voir l'originalRépondre0
0xInsomnia
· 07-07 17:14
Les développeurs adorent-ils jouer avec les dex récemment ?
Voir l'originalRépondre0
GasFeeSobber
· 07-06 19:00
Espérer ardemment le déverrouillage de Solidity par le bull
Créer une plateforme de trading NFT décentralisée étape par étape : de la contrat à la réalisation du front-end
Réaliser des transactions NFT décentralisées
Pour les NFT suivant le protocole ERC-721, les méthodes de réalisation de la Décentralisation des transactions diffèrent de celles des jetons ERC-20. Actuellement, la plupart des plateformes de trading NFT utilisent un modèle d'enchères, semblable à l'exposition de produits sur les étagères d'un supermarché, où les acheteurs peuvent acheter les produits au prix qui leur convient.
Cet article mettra en œuvre une fonction de trading décentralisée de base pour les NFT en écrivant des contrats intelligents et une interface frontale simple. Il est à noter que le contenu de cet article est uniquement à des fins d'apprentissage et ne convient pas à un environnement de production réel.
Caractéristiques fondamentales des NFT
NFT est un jeton non fongible, chaque token est unique et suit le protocole ERC-721. En général, chaque NFT affichera une image différente dans le portefeuille, et chaque ensemble de NFT a un ID unique pour les distinguer.
En raison de cette caractéristique des NFT, il n'est pas possible de déterminer le prix comme pour les jetons ERC-20 via une courbe de prix. Par conséquent, la méthode de trading la plus courante actuellement est sous la forme d'un livre de commandes.
Mode de trading sur carnet d'ordres
Dans le mode carnet d'ordres, le prix des produits est fixé par des personnes, contrairement au mode de teneur de marché automatique où les prix sont calculés par des algorithmes. Le carnet d'ordres a généralement deux types de modes de transaction :
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 au prix des ordres de vente. Cet article se concentrera sur la méthode de transaction des ordres de vente.
Fonctionnalités de base de la DEX NFT
Un DEX NFT de base devrait inclure les fonctionnalités clés suivantes :
Processus de mise en vente des produits
Pour mettre en ligne des produits, vous devez suivre les étapes suivantes:
Il est nécessaire de maintenir une table de correspondance des prix des produits mis en ligne par les utilisateurs dans le contrat. Ces données peuvent également être stockées dans un service centralisé pour alléger la charge du contrat, mais cet article les conserve dans le contrat.
Processus d'achat de biens
Lors de l'achat de produits, les éléments suivants se produiront :
Réaliser un DEX NFT
Nous allons maintenant créer un DEX NFT à partir de zéro.
1. Créer un NFT de test
Pour des besoins de test, nous pouvons utiliser Remix pour déployer rapidement un contrat NFT conforme au protocole ERC-721. Nous pouvons également utiliser des NFT déjà préparés pour les tests.
2. Rédiger des contrats intelligents
Le contrat doit inclure les principales méthodes suivantes :
2.1 Vendeur met en ligne NFT
Processus:
Méthode de mise en ligne nécessaire :
2.2 Acheteur achète NFT
Processus d'achat :
2.3 Annuler la mise en vente
Il suffit de définir le champ isActive dans l'enregistrement de mise en vente sur false.
2.4 Retrait de frais
Retirer les frais accumulés dans le contrat à l'adresse spécifiée.
3. Développement de l'interface DEX
Outils principaux nécessaires pour le développement front-end :
L'interface utilisateur doit comprendre trois pages principales : Mint, Buy et Portfolio.
3.1 Connexion du portefeuille
Utiliser les composants Ant Design Web3 pour réaliser la fonctionnalité de connexion au portefeuille.
3.2 Page de Mint
Utilisé pour frapper un NFT de test, appelant le contrat avec la méthode useWriteContract de wagmi.
3.3 Page de portefeuille
Afficher les NFT détenus par l'utilisateur, prendre en charge les opérations de mise en ligne et de retrait.
Lors de la mise en vente, il faut appeler la méthode listNFT, et lors du retrait, appeler la méthode cancelListing. Avant la mise en vente, il est nécessaire d'autoriser le NFT au contrat.
3.4 Page d'achat
Afficher tous les NFT listés, supportant les opérations d'achat.
Appelez la méthode purchaseNFT lors de l'achat et payez le montant correspondant en ETH.
Après avoir complété les étapes ci-dessus, un DEX NFT de base est réalisé. Il peut être déployé sur des plateformes comme Vercel pour des tests et une utilisation.