Créer une plateforme de trading NFT décentralisée à partir de zéro
Après une étude approfondie des échanges décentralisés des jetons ERC-20, nous ne pouvons nous empêcher de nous demander : comment réaliser des échanges décentralisés du protocole ERC-721 (c'est-à-dire NFT) ?
Actuellement, les principales plateformes d'échange de NFT utilisent un modèle de commande, similaire à l'affichage des produits sur les étagères d'un supermarché. Les acheteurs peuvent directement acheter les NFT dont le prix leur convient.
Cet article vous guidera étape par étape pour construire une plateforme de trading NFT décentralisée simple, y compris la rédaction de contrats intelligents et le développement d'une interface frontale de base. Veuillez noter que le contenu de cet article est uniquement à des fins d'apprentissage et ne convient pas à un environnement de production réel.
Introduction aux NFT
Les NFT (jetons non fongibles) suivent le protocole ERC-721, chaque Token est unique. Les NFT sont généralement affichés dans les portefeuilles sous différentes formes d'images et possèdent un ID exclusif pour les distinguer.
En raison de l'unicité des NFT, il n'est pas possible de les évaluer par une courbe de prix comme les jetons ERC-20. Par conséquent, la méthode de transaction NFT courante est d'adopter un format de livre de commandes.
Mode de négociation sur le carnet de commandes
Le trading sur carnet d'ordres se fait principalement selon deux modes :
Ordre de prix : le vendeur fixe le prix de vente, l'acheteur peut acheter s'il le trouve approprié.
Commande d'achat : L'acheteur publie une commande d'achat, le vendeur peut vendre après avoir accepté le prix.
En général, le prix des ordres d'achat sera inférieur à celui des ordres de prix. Cet article se concentrera sur le mode des ordres de prix.
Fonctionnalités clés de la plateforme de trading NFT Décentralisation
Une plateforme de trading NFT décentralisée de base devrait posséder les fonctionnalités suivantes :
Mise en vente des NFT : permet aux utilisateurs de fixer le prix pour mettre en vente des NFT
Achat de NFT : les utilisateurs peuvent acheter des NFT au prix fixé.
Frais de plateforme : Un certain pourcentage de frais est prélevé sur le prix de la transaction.
processus de mise en ligne des NFT
Frontend : L'utilisateur choisit un NFT et fixe un prix, puis clique sur mettre en ligne.
Contrat : l'utilisateur autorise le contrat à gérer son NFT.
Le contrat doit maintenir un tableau de correspondance des prix des produits mis en ligne par les utilisateurs. Bien que ces données puissent être stockées dans un service centralisé pour alléger la charge du contrat, cet article les conservera dans le contrat.
processus d'achat NFT
Frontend : l'utilisateur choisit le NFT qu'il souhaite acheter et clique sur acheter.
Contrat : exécuter l'opération de transfert, transférer les fonds de l'acheteur au vendeur, tout en transférant le NFT à l'acheteur.
Construire une plateforme de trading NFT décentralisée
Ensuite, nous allons réaliser progressivement une plateforme de trading NFT décentralisée.
1. Créer un NFT de test
Pour les besoins des tests, nous pouvons utiliser Remix pour déployer rapidement un contrat NFT conforme au protocole ERC-721. Bien sûr, nous pouvons également utiliser un NFT existant pour les tests.
2. Développement de contrats intelligents
Nos contrats doivent inclure les fonctionnalités clés suivantes :
2.1 Mise en ligne de NFT
Le vendeur doit spécifier le NFT et le prix lors de la mise en ligne du NFT. Le processus de mise en ligne inclut :
L'utilisateur choisit un NFT
Définir le prix (peut utiliser USDT, USDC ou ETH)
Autoriser le NFT à un contrat
La méthode de mise en ligne des contrats doit être complétée :
Vérifier la propriété de l'NFT
Ajouter un enregistrement de mise en vente
Déclencher l'événement de mise en vente
2.2 Achat de NFT
Lorsqu'un acheteur achète un NFT, le contrat doit être exécuté :
Lire les données NFT
Calculer et déduire les frais de transaction
Transférer le NFT au acheteur
Déclencher un événement d'achat
2.3 Annuler le listing
Le vendeur peut annuler la mise en vente de l'NFT. Le champ isActive dans le contrat est utilisé pour indiquer si le produit est valide, il suffit de définir ce champ sur false lors de l'annulation de la mise en vente.
2.4 Retrait des frais
La plateforme peut percevoir des frais de transaction, dans ce cas les frais sont stockés dans le contrat.
3. Développement front-end
Le développement front-end utilise les outils suivants :
Ant Design Web3 : pour la connexion de portefeuille et l'affichage des NFT
Wagmi : réaliser l'interaction de portefeuille
Nextjs + Vercel : déployer le projet
L'application frontale comprend trois pages principales : Mint, Buy et Portfolio.
3.1 Connexion du portefeuille
Utiliser le composant de connexion Ant Design Web3 pour mettre en œuvre la fonctionnalité de connexion au portefeuille. Pour améliorer la vitesse de requête, il est recommandé d'utiliser des services de nœud tels que l'endpoint de ZAN.
3.2 Page de Mint
Utiliser la méthode useWriteContract de wagmi pour implémenter la fonction de minting NFT.
3.3 Page Portfolio
Affiche les NFT détenus par l'utilisateur, prend en charge les opérations de mise en ligne et de retrait. Utilise l'API opensea pour obtenir la liste des NFT et détermine l'état de mise en ligne des NFT via une méthode de contrat.
3.4 Page d'achat
Afficher tous les NFT répertoriés et fournir une fonction d'achat. Lors de l'achat, appeler la méthode purchaseNFT et payer en ETH.
Après avoir terminé les étapes ci-dessus, une plateforme de trading NFT décentralisée de base est maintenant établie. Vous pouvez la déployer sur des plateformes telles que Vercel pour la tester et l'utiliser.
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.
13 J'aime
Récompense
13
6
Partager
Commentaire
0/400
NotGonnaMakeIt
· Il y a 4h
Ce piège est vraiment bon, quand sera-t-il Open Source ?
Voir l'originalRépondre0
SocialFiQueen
· 07-20 02:58
Suivre la tendance, c'est vrai, il était temps que je me lance.
Voir l'originalRépondre0
GateUser-ccc36bc5
· 07-20 02:58
C'est quand Open Source ?
Voir l'originalRépondre0
bridge_anxiety
· 07-20 02:57
Les ordres en cours sont dépassés.
Voir l'originalRépondre0
TokenSherpa
· 07-20 02:43
en fait, c'est plutôt rudimentaire... j'ai vu de meilleures implémentations pendant mes jours de conseil en DAO, pour être honnête.
Voir l'originalRépondre0
HashBandit
· 07-20 02:40
j'attends toujours que l'échelle l2 rende le trading des NFT supportable... ces frais de gas me tuent à chaque fois smh
Guide complet pour construire une plateforme de trading NFT décentralisée à partir de zéro
Créer une plateforme de trading NFT décentralisée à partir de zéro
Après une étude approfondie des échanges décentralisés des jetons ERC-20, nous ne pouvons nous empêcher de nous demander : comment réaliser des échanges décentralisés du protocole ERC-721 (c'est-à-dire NFT) ?
Actuellement, les principales plateformes d'échange de NFT utilisent un modèle de commande, similaire à l'affichage des produits sur les étagères d'un supermarché. Les acheteurs peuvent directement acheter les NFT dont le prix leur convient.
Cet article vous guidera étape par étape pour construire une plateforme de trading NFT décentralisée simple, y compris la rédaction de contrats intelligents et le développement d'une interface frontale de base. Veuillez noter que le contenu de cet article est uniquement à des fins d'apprentissage et ne convient pas à un environnement de production réel.
Introduction aux NFT
Les NFT (jetons non fongibles) suivent le protocole ERC-721, chaque Token est unique. Les NFT sont généralement affichés dans les portefeuilles sous différentes formes d'images et possèdent un ID exclusif pour les distinguer.
En raison de l'unicité des NFT, il n'est pas possible de les évaluer par une courbe de prix comme les jetons ERC-20. Par conséquent, la méthode de transaction NFT courante est d'adopter un format de livre de commandes.
Mode de négociation sur le carnet de commandes
Le trading sur carnet d'ordres se fait principalement selon deux modes :
En général, le prix des ordres d'achat sera inférieur à celui des ordres de prix. Cet article se concentrera sur le mode des ordres de prix.
Fonctionnalités clés de la plateforme de trading NFT Décentralisation
Une plateforme de trading NFT décentralisée de base devrait posséder les fonctionnalités suivantes :
processus de mise en ligne des NFT
Le contrat doit maintenir un tableau de correspondance des prix des produits mis en ligne par les utilisateurs. Bien que ces données puissent être stockées dans un service centralisé pour alléger la charge du contrat, cet article les conservera dans le contrat.
processus d'achat NFT
Construire une plateforme de trading NFT décentralisée
Ensuite, nous allons réaliser progressivement une plateforme de trading NFT décentralisée.
1. Créer un NFT de test
Pour les besoins des tests, nous pouvons utiliser Remix pour déployer rapidement un contrat NFT conforme au protocole ERC-721. Bien sûr, nous pouvons également utiliser un NFT existant pour les tests.
2. Développement de contrats intelligents
Nos contrats doivent inclure les fonctionnalités clés suivantes :
2.1 Mise en ligne de NFT
Le vendeur doit spécifier le NFT et le prix lors de la mise en ligne du NFT. Le processus de mise en ligne inclut :
La méthode de mise en ligne des contrats doit être complétée :
2.2 Achat de NFT
Lorsqu'un acheteur achète un NFT, le contrat doit être exécuté :
2.3 Annuler le listing
Le vendeur peut annuler la mise en vente de l'NFT. Le champ isActive dans le contrat est utilisé pour indiquer si le produit est valide, il suffit de définir ce champ sur false lors de l'annulation de la mise en vente.
2.4 Retrait des frais
La plateforme peut percevoir des frais de transaction, dans ce cas les frais sont stockés dans le contrat.
3. Développement front-end
Le développement front-end utilise les outils suivants :
L'application frontale comprend trois pages principales : Mint, Buy et Portfolio.
3.1 Connexion du portefeuille
Utiliser le composant de connexion Ant Design Web3 pour mettre en œuvre la fonctionnalité de connexion au portefeuille. Pour améliorer la vitesse de requête, il est recommandé d'utiliser des services de nœud tels que l'endpoint de ZAN.
3.2 Page de Mint
Utiliser la méthode useWriteContract de wagmi pour implémenter la fonction de minting NFT.
3.3 Page Portfolio
Affiche les NFT détenus par l'utilisateur, prend en charge les opérations de mise en ligne et de retrait. Utilise l'API opensea pour obtenir la liste des NFT et détermine l'état de mise en ligne des NFT via une méthode de contrat.
3.4 Page d'achat
Afficher tous les NFT répertoriés et fournir une fonction d'achat. Lors de l'achat, appeler la méthode purchaseNFT et payer en ETH.
Après avoir terminé les étapes ci-dessus, une plateforme de trading NFT décentralisée de base est maintenant établie. Vous pouvez la déployer sur des plateformes telles que Vercel pour la tester et l'utiliser.