Construire une plateforme d'échange NFT décentralisée à partir de zéro : explication détaillée des smart contracts et de la mise en œuvre du front-end.
Pour les NFT conformes au protocole ERC-721, la réalisation d'un échange décentralisé est un sujet qui mérite d'être exploré. Actuellement, les principales plateformes d'échange de NFT utilisent principalement un système de commande, similaire à l'affichage de produits sur des étagères pour que les acheteurs puissent les choisir. Cet article montrera comment réaliser un échange décentralisé de NFT en rédigeant des contrats intelligents et une simple page frontale. Il convient de noter que le contenu de cet article est uniquement à des fins d'apprentissage et ne s'applique pas à un environnement de production réel.
Aperçu des NFT
NFT est un jeton non fongible, chaque Token est unique et suit le protocole ERC-721. En général, les NFT affichent des images différentes dans le portefeuille, et chaque groupe de NFT a un ID unique pour les distinguer. En raison des caractéristiques des NFT, il n'est pas possible de fixer un prix par des courbes de prix comme pour les jetons ERC-20. Par conséquent, la méthode de trading courante est sous forme de carnet de commandes.
Mode de négociation sur carnet d'ordres
Le modèle de carnet d'ordres se divise principalement en deux types :
Ordre de prix : Le vendeur fixe le prix de vente, l'acheteur peut acheter s'il le juge approprié.
Ordre d'achat : l'acheteur émet un ordre d'achat, et le vendeur vend lorsqu'il estime que le prix est approprié.
En général, le prix des ordres d'achat sera inférieur à celui des ordres de prix. Cet article se concentrera sur la méthode de transaction des ordres de prix.
Fonctionnalités de base du DEX NFT
Un DEX NFT de base devrait inclure les fonctionnalités suivantes :
Mettre en ligne des produits : Mettre les NFT en vente au prix fixé.
Acheter des biens : acheter selon le prix NFT
Perception des frais : perçus en fonction du prix de la transaction.
Processus de mise en ligne des produits
Front-end : L'utilisateur choisit un NFT et fixe le prix, puis clique sur mettre en vente.
Contrat : L'utilisateur autorise le contrat à opérer des NFT
Processus d'achat de biens
Frontend : l'utilisateur choisit un NFT, clique sur acheter
Contrat : Transférer les fonds de l'acheteur au vendeur, le NFT à l'acheteur
Réalisation de NFT DEX
1. Créer un NFT de test
Vous pouvez déployer rapidement un contrat NFT du protocole ERC-721 pour des tests via Remix.
2. Écrire des contrats intelligents
Principalement composé des méthodes suivantes :
2.1 Vendeur met en vente NFT
Processus :
L'utilisateur choisit NFT
Fixer le prix
Autoriser le NFT au contrat
Appel de la méthode de mise en vente
Méthodes de mise en ligne nécessaires :
Vérifier la propriété de l'NFT
Ajouter un enregistrement de mise en vente
Déclencher un événement de mise en ligne
2.2 L'acheteur achète des NFT
Étapes d'exécution du contrat:
Lire les données NFT
Calculer et déduire les frais
Transférer l'NFT à l'acheteur
Déclencher un événement d'achat
2.3 Annuler le listing
Il suffit de définir le champ isActive de l'enregistrement de mise en ligne sur false.
2.4 Retrait de frais de transaction
Les frais perçus seront déposés dans le contrat ou transférés à l'adresse désignée.
3. Développement front-end
Outils principaux utilisés :
Ant Design Web3
Wagmi
Next.js + Vercel
Page principale:
Mint: Test NFT de Mintage
Acheter : marché NFT
Portefeuille: Gestion de l'ajout et du retrait des NFT
3.1 Connecter le portefeuille
Utiliser le composant de connexion d'Ant Design Web3.
3.2 Page de Mint
Utiliser la méthode useWriteContract de wagmi pour appeler le contrat mint.
3.3 Page Portefeuille
Afficher les NFT des utilisateurs, supportant les opérations de mise en ligne et de retrait.
3.4 Page d'achat
Afficher les NFT listés, supportant les opérations d'achat.
Grâce aux étapes ci-dessus, un DEX NFT de base a été mis en place. Il peut être déployé sur Vercel pour y accéder.
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
6
Partager
Commentaire
0/400
GmGnSleeper
· 07-26 04:07
bull wow Écrire un Dex soi-même, ça a du goût.
Voir l'originalRépondre0
TokenRationEater
· 07-25 22:02
Article technique classique, je recommande de le sauvegarder avant de parler.
Voir l'originalRépondre0
MetaNomad
· 07-23 09:16
C'est un ancien projet, je ne sais tout simplement pas écrire.
Voir l'originalRépondre0
BrokeBeans
· 07-23 09:08
J'ai tellement eu peur que mon chien est tombé off-chain.
Voir l'originalRépondre0
DevChive
· 07-23 09:08
Aujourd'hui est aussi une journée d'apprentissage du Blockchain ha~
Voir l'originalRépondre0
BearMarketNoodler
· 07-23 09:05
De toute façon, cela n'a pas de différence avec les ordres en cours, c'est juste de la spéculation.
Construire une plateforme d'échange NFT décentralisée à partir de zéro : explication détaillée des smart contracts et de la mise en œuvre du front-end.
Créer une DEX NFT à partir de zéro
Pour les NFT conformes au protocole ERC-721, la réalisation d'un échange décentralisé est un sujet qui mérite d'être exploré. Actuellement, les principales plateformes d'échange de NFT utilisent principalement un système de commande, similaire à l'affichage de produits sur des étagères pour que les acheteurs puissent les choisir. Cet article montrera comment réaliser un échange décentralisé de NFT en rédigeant des contrats intelligents et une simple page frontale. Il convient de noter que le contenu de cet article est uniquement à des fins d'apprentissage et ne s'applique pas à un environnement de production réel.
Aperçu des NFT
NFT est un jeton non fongible, chaque Token est unique et suit le protocole ERC-721. En général, les NFT affichent des images différentes dans le portefeuille, et chaque groupe de NFT a un ID unique pour les distinguer. En raison des caractéristiques des NFT, il n'est pas possible de fixer un prix par des courbes de prix comme pour les jetons ERC-20. Par conséquent, la méthode de trading courante est sous forme de carnet de commandes.
Mode de négociation sur carnet d'ordres
Le modèle de carnet d'ordres se divise principalement en deux types :
En général, le prix des ordres d'achat sera inférieur à celui des ordres de prix. Cet article se concentrera sur la méthode de transaction des ordres de prix.
Fonctionnalités de base du DEX NFT
Un DEX NFT de base devrait inclure les fonctionnalités suivantes :
Processus de mise en ligne des produits
Processus d'achat de biens
Réalisation de NFT DEX
1. Créer un NFT de test
Vous pouvez déployer rapidement un contrat NFT du protocole ERC-721 pour des tests via Remix.
2. Écrire des contrats intelligents
Principalement composé des méthodes suivantes :
2.1 Vendeur met en vente NFT
Processus :
Méthodes de mise en ligne nécessaires :
2.2 L'acheteur achète des NFT
Étapes d'exécution du contrat:
2.3 Annuler le listing
Il suffit de définir le champ isActive de l'enregistrement de mise en ligne sur false.
2.4 Retrait de frais de transaction
Les frais perçus seront déposés dans le contrat ou transférés à l'adresse désignée.
3. Développement front-end
Outils principaux utilisés :
Page principale:
3.1 Connecter le portefeuille
Utiliser le composant de connexion d'Ant Design Web3.
3.2 Page de Mint
Utiliser la méthode useWriteContract de wagmi pour appeler le contrat mint.
3.3 Page Portefeuille
Afficher les NFT des utilisateurs, supportant les opérations de mise en ligne et de retrait.
3.4 Page d'achat
Afficher les NFT listés, supportant les opérations d'achat.
Grâce aux étapes ci-dessus, un DEX NFT de base a été mis en place. Il peut être déployé sur Vercel pour y accéder.