Créer une plateforme de trading NFT décentralisée à partir de zéro
Dans les articles précédents, nous avons exploré comment réaliser des échanges décentralisés de tokens ERC-20 via DEX. Mais comment réaliser des échanges décentralisés pour les NFT conformes au protocole ERC-721 ?
Actuellement, la plupart des plateformes NFT populaires adoptent un modèle de commande en attente pour les transactions, similaire à des produits exposés sur les étagères d'un supermarché, où les acheteurs peuvent acheter et emporter si le prix leur semble approprié. Cet article mettra en œuvre un échange décentralisé de NFT en écrivant des contrats intelligents et une simple interface frontale. Il est important de noter que le contenu de cet article est uniquement destiné à des fins d'apprentissage et n'est pas adapté à un environnement de production.
Introduction aux NFT
NFT est un jeton non fongible, conforme au protocole ERC-721. Chaque NFT est unique, généralement affiché sous forme d'images différentes dans un portefeuille, et possède un ID unique pour la distinction.
En raison des caractéristiques des NFT, il n'est pas possible de fixer un prix via une courbe de prix comme pour les jetons ERC-20. Par conséquent, la méthode de transaction courante est d'adopter un format de livre de commandes.
Mode de transaction sur carnet de commandes
Dans le mode carnet de commandes, le prix des produits est fixé par l'homme, contrairement à la méthode de calcul des prix par algorithme. Le carnet de commandes a généralement deux modes de trading :
Ordre de prix : le vendeur fixe le prix de vente, l'acheteur peut acheter s'il le trouve approprié.
Commande d'achat : l'acheteur émet une commande 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 se concentrera sur le mode de transaction de prix.
Fonctionnalités de base du DEX NFT
Une plateforme NFT DEX de base devrait inclure les fonctionnalités suivantes :
Mettre en vente des produits : mettre le NFT en vente au prix fixé
Acheter des produits : acheter au prix NFT
Perception de frais: perçue selon le prix de transaction au prorata.
processus de mise en ligne des produits
Frontend : l'utilisateur choisit un NFT et fixe le prix, puis clique sur mettre en vente.
Contrat : l'utilisateur autorise le contrat à opérer son NFT
Il est nécessaire de maintenir une table de correspondance des prix des produits mis en vente par les utilisateurs dans le contrat. Pour alléger la charge du contrat, ces données peuvent également être stockées dans un service centralisé.
Processus d'achat de biens
Front-end : L'utilisateur choisit le NFT qu'il souhaite acheter et clique sur acheter.
Contrat : transférer les fonds de l'acheteur au vendeur, NFT au acheteur
Réalisation DEX NFT
Nous allons créer un DEX NFT à partir de zéro.
1. Créer un NFT
Pour les besoins des tests, nous pouvons créer rapidement un NFT selon le protocole ERC-721 via Remix. Nous pouvons également utiliser directement un NFT déjà préparé.
2. Rédaction de contrat
Le contrat doit inclure les principales méthodes suivantes :
2.1 Vendeur met en ligne NFT
Processus:
L'utilisateur choisit le NFT
Définir le prix ( en stablecoins ou en ETH )
Autoriser le NFT au contrat
Appeler la méthode de mise en ligne
Méthodes de mise en ligne à exécuter :
Vérifier la propriété de l'NFT
Ajouter un enregistrement de mise en vente
Déclencher l'événement de mise en ligne
2.2 L'acheteur achète un NFT
L'acheteur choisit un NFT et effectue le paiement, le contrat s'exécute :
Lire les données NFT
Calculer et déduire les frais de transaction
Transférer le NFT à l'acheteur
Déclencher l'événement d'achat
2.3 Annuler la mise en vente
Il suffit de définir le champ isActive du produit sur false.
2.4 Retrait des frais de transaction
Les frais peuvent être déposés dans un contrat ou transférés à une adresse spécifiée.
3. Développement de l'interface DEX
Outils principaux utilisés :
Ant Design Web3 : connexion de portefeuille, affichage des cartes NFT
Wagmi: interaction avec le portefeuille
Nextjs + Vercel : déploiement du projet
L'interface utilisateur devrait inclure trois pages : Mint, Buy et Portfolio.
3.1 Connecter le portefeuille
Utilisez le composant de connexion Ant Design Web3 pour établir la connexion au portefeuille.
3.2 Page Mint
Utiliser la méthode useWriteContract de wagmi pour réaliser l'alimentation de NFT.
3.3 Page du portefeuille
Afficher les NFT des utilisateurs, support des opérations de mise en ligne et de retrait.
3.4 Page d'achat
Afficher les NFT déjà répertoriés, supportant l'opération d'achat.
À ce stade, le front-end d'un DEX NFT de base est terminé. Il peut être déployé sur 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.
12 J'aime
Récompense
12
4
Reposter
Partager
Commentaire
0/400
PoolJumper
· 07-21 17:01
会整是pro
Voir l'originalRépondre0
DogeBachelor
· 07-19 17:08
Pouvez-vous, s'il vous plaît, donner plus de détails sur la façon de procéder, buddy ?
Voir l'originalRépondre0
BlockTalk
· 07-18 22:22
Il vaut mieux ouvrir une boîte et faire du dumping que de gérer un contrat soi-même.
Construire une plateforme de trading NFT décentralisée à partir de zéro : guide de mise en œuvre des smart contracts et du front-end
Créer une plateforme de trading NFT décentralisée à partir de zéro
Dans les articles précédents, nous avons exploré comment réaliser des échanges décentralisés de tokens ERC-20 via DEX. Mais comment réaliser des échanges décentralisés pour les NFT conformes au protocole ERC-721 ?
Actuellement, la plupart des plateformes NFT populaires adoptent un modèle de commande en attente pour les transactions, similaire à des produits exposés sur les étagères d'un supermarché, où les acheteurs peuvent acheter et emporter si le prix leur semble approprié. Cet article mettra en œuvre un échange décentralisé de NFT en écrivant des contrats intelligents et une simple interface frontale. Il est important de noter que le contenu de cet article est uniquement destiné à des fins d'apprentissage et n'est pas adapté à un environnement de production.
Introduction aux NFT
NFT est un jeton non fongible, conforme au protocole ERC-721. Chaque NFT est unique, généralement affiché sous forme d'images différentes dans un portefeuille, et possède un ID unique pour la distinction.
En raison des caractéristiques des NFT, il n'est pas possible de fixer un prix via une courbe de prix comme pour les jetons ERC-20. Par conséquent, la méthode de transaction courante est d'adopter un format de livre de commandes.
Mode de transaction sur carnet de commandes
Dans le mode carnet de commandes, le prix des produits est fixé par l'homme, contrairement à la méthode de calcul des prix par algorithme. Le carnet de commandes a généralement deux modes de trading :
Ordre de prix : le vendeur fixe le prix de vente, l'acheteur peut acheter s'il le trouve approprié.
Commande d'achat : l'acheteur émet une commande 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 se concentrera sur le mode de transaction de prix.
Fonctionnalités de base du DEX NFT
Une plateforme NFT DEX de base devrait inclure les fonctionnalités suivantes :
processus de mise en ligne des produits
Il est nécessaire de maintenir une table de correspondance des prix des produits mis en vente par les utilisateurs dans le contrat. Pour alléger la charge du contrat, ces données peuvent également être stockées dans un service centralisé.
Processus d'achat de biens
Réalisation DEX NFT
Nous allons créer un DEX NFT à partir de zéro.
1. Créer un NFT
Pour les besoins des tests, nous pouvons créer rapidement un NFT selon le protocole ERC-721 via Remix. Nous pouvons également utiliser directement un NFT déjà préparé.
2. Rédaction de contrat
Le contrat doit inclure les principales méthodes suivantes :
2.1 Vendeur met en ligne NFT
Processus:
Méthodes de mise en ligne à exécuter :
2.2 L'acheteur achète un NFT
L'acheteur choisit un NFT et effectue le paiement, le contrat s'exécute :
2.3 Annuler la mise en vente
Il suffit de définir le champ isActive du produit sur false.
2.4 Retrait des frais de transaction
Les frais peuvent être déposés dans un contrat ou transférés à une adresse spécifiée.
3. Développement de l'interface DEX
Outils principaux utilisés :
L'interface utilisateur devrait inclure trois pages : Mint, Buy et Portfolio.
3.1 Connecter le portefeuille
Utilisez le composant de connexion Ant Design Web3 pour établir la connexion au portefeuille.
3.2 Page Mint
Utiliser la méthode useWriteContract de wagmi pour réaliser l'alimentation de NFT.
3.3 Page du portefeuille
Afficher les NFT des utilisateurs, support des opérations de mise en ligne et de retrait.
3.4 Page d'achat
Afficher les NFT déjà répertoriés, supportant l'opération d'achat.
À ce stade, le front-end d'un DEX NFT de base est terminé. Il peut être déployé sur Vercel pour y accéder.