Créer une plateforme de trading NFT décentralisée étape par étape : de la contrat à la réalisation du front-end

robot
Création du résumé en cours

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.

Série pour débutants Web3 : réaliser un DEX NFT à partir de zéro

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.

Série pour débutants Web3 : Réaliser un DEX NFT à partir de zéro

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 :

  1. Ordre de prix : le vendeur fixe le prix de vente, l'acheteur peut acheter s'il le juge approprié.

  2. 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.

Web3 Nouveau : Réaliser un DEX NFT de zéro

Fonctionnalités de base de la DEX NFT

Un DEX NFT de base devrait inclure les fonctionnalités clés suivantes :

  1. Mettre en vente des produits : Mettre les NFT en vente selon le prix fixé.
  2. Acheter des biens : acheter au prix de l'NFT
  3. 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:

  1. Frontend : l'utilisateur choisit un NFT et fixe le prix, puis clique sur mettre en vente.
  2. 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 :

  1. Frontend : l'utilisateur choisit le NFT qu'il souhaite acheter, puis clique sur acheter.
  2. Contrat : appeler le contrat, transférer les fonds de l'acheteur au vendeur et transférer l'NFT à l'acheteur.

Série pour débutants Web3 : Créer un DEX NFT à partir de zéro

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.

Web3 Nouveaux venus : Créer un DEX NFT à partir de zéro

2. Rédiger des contrats intelligents

Le contrat doit inclure les principales méthodes suivantes :

2.1 Vendeur met en ligne NFT

Processus:

  1. L'utilisateur choisit un NFT
  2. Fixer le prix
  3. Autoriser le NFT au contrat
  4. Appeler la méthode de mise en ligne

Méthode de mise en ligne nécessaire :

  1. Vérifier la propriété de l'NFT
  2. Ajouter un enregistrement de mise en ligne
  3. Déclencher l'événement de mise en ligne

Série pour débutants Web3 : Créer un DEX NFT à partir de zéro

2.2 Acheteur achète NFT

Processus d'achat :

  1. Lire les données NFT
  2. Calculer et déduire les frais de transaction
  3. Transférer le NFT à l'acheteur
  4. Déclencher un événement d'achat

Série pour débutants Web3 : réaliser un DEX NFT à partir de zéro

2.3 Annuler la mise en vente

Il suffit de définir le champ isActive dans l'enregistrement de mise en vente sur false.

Web3 nouveaux venus série : réaliser un DEX NFT à partir de zéro

2.4 Retrait de frais

Retirer les frais accumulés dans le contrat à l'adresse spécifiée.

Série pour débutants Web3 : créer un DEX NFT à partir de zéro

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.

Web3 Nouveaux venus série : réaliser un DEX NFT à partir de zéro

3.1 Connexion du portefeuille

Utiliser les composants Ant Design Web3 pour réaliser la fonctionnalité de connexion au portefeuille.

Web3 Nouveaux venus : Créer un DEX NFT à partir de zéro

3.2 Page de Mint

Utilisé pour frapper un NFT de test, appelant le contrat avec la méthode useWriteContract de wagmi.

Web3 nouveau venu série : réaliser un DEX NFT à partir de zéro

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.

Web3 Nouveau Série : Réaliser un DEX NFT depuis zéro

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.
  • Récompense
  • 7
  • Partager
Commentaire
0/400
RugPullProphetvip
· 07-08 04:56
Il n'est pas nécessaire de se torturer autant pour le frontend.
Voir l'originalRépondre0
0xInsomniavip
· 07-07 17:14
Les développeurs adorent-ils jouer avec les dex récemment ?
Voir l'originalRépondre0
GasFeeSobbervip
· 07-06 19:00
Espérer ardemment le déverrouillage de Solidity par le bull
Voir l'originalRépondre0
OPsychologyvip
· 07-06 18:58
Entraîneur, je veux aussi écrire un contrat dex.
Voir l'originalRépondre0
just_here_for_vibesvip
· 07-06 18:55
Ce code est un peu hardcore.
Voir l'originalRépondre0
BearMarketSurvivorvip
· 07-06 18:55
Encore un marché NFT, ça me rend fou !
Voir l'originalRépondre0
NFTBlackHolevip
· 07-06 18:55
Enfin, un tutoriel dex fiable est disponible.
Voir l'originalRépondre0
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)