Réaliser une plateforme de trading NFT décentralisée à partir de zéro
Pour les NFT conformes au protocole ERC-721, la façon de réaliser des transactions décentralisées diffère de celle des jetons ERC-20. Actuellement, les plateformes de trading NFT les plus courantes utilisent un système de commande, semblable à l'exposition de produits sur des étagères pour que les acheteurs puissent faire leur choix. Cet article présentera comment réaliser des transactions décentralisées pour les NFT en écrivant des contrats intelligents et une interface frontale simple. 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
NFT (jeton non fongible) est un actif numérique unique qui suit le protocole ERC-721. Chaque NFT a sa propre unicité, généralement affichée sous forme d'images différentes dans un portefeuille, et possède un identifiant unique. En raison de la nature spéciale des NFT, il n'est pas possible de définir un prix via une courbe de prix comme pour les jetons ERC-20, donc le moyen de transaction courant est d'utiliser une forme de livre de commandes.
Mode de trading sur carnet d'ordres
Le mode de trading sur carnet d'ordres se divise principalement en deux types :
Ordre de prix : le vendeur fixe un prix fixe, et l'acheteur achète directement après approbation.
Ordre d'achat : L'acheteur publie une demande d'achat, le vendeur la reconnaît et finalise la transaction.
Cet article se concentrera sur le mode de transaction par ordre de prix.
Fonctionnalités clés de la plateforme de trading NFT Décentralisation
Une plateforme NFT de décentralisation de base devrait inclure les fonctionnalités suivantes :
Mise en ligne des produits : permet aux utilisateurs de définir le prix et de mettre en ligne le NFT
Achat de produit : Les utilisateurs peuvent acheter des NFT au prix défini.
Frais de plateforme : un certain pourcentage de frais est prélevé en fonction du prix de transaction.
processus de mise en ligne des produits
Frontend : l'utilisateur choisit un NFT et fixe un prix, puis clique sur mettre en ligne.
Contrat : L'utilisateur autorise le contrat à opérer ses NFT.
Il est nécessaire de maintenir un tableau de correspondance des prix des produits mis en vente par les utilisateurs dans le contrat. Bien que ces données puissent être stockées dans un service décentralisé pour alléger la charge du contrat, cet article les conserve dans le contrat.
processus d'achat des produits
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.
Réaliser une plateforme de trading NFT décentralisée
Ensuite, nous allons créer une plateforme de trading NFT décentralisée à partir de zéro.
1. Créer un NFT
Pour les besoins des tests, nous pouvons utiliser Remix pour déployer rapidement un contrat NFT conforme au protocole ERC-721. Nous pouvons également choisir d'utiliser un NFT préalablement préparé.
2. Rédaction de contrat
Le contrat doit inclure les méthodes clés suivantes :
2.1 Vendeur met en vente NFT
Les méthodes de mise en ligne doivent accomplir les tâches suivantes :
Vérifier la propriété des 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
Pour acheter, suivez les étapes suivantes :
Lire les données NFT à partir des enregistrements de mise en ligne
Calculer et déduire les frais
Transférer le NFT à l'acheteur
Déclencher un événement d'achat
2.3 Annuler la mise en ligne
Pour annuler la mise en vente, définissez le champ isActive dans l'enregistrement de mise en vente sur false.
2.4 Retrait des frais
La plateforme peut prélever des frais sur chaque transaction et les stocker dans le contrat ou les transférer à une adresse spécifiée.
3. Développement frontal
Le développement front-end nécessite l'utilisation des outils suivants :
Ant Design Web3 : utilisé pour la connexion de portefeuille et la présentation de NFT
Wagmi : utilisé pour interagir avec le portefeuille
Nextjs + Vercel : utilisé pour le déploiement de projet
L'application frontale comprend trois pages principales : Mint, Buy et Portfolio.
3.1 Connecter un portefeuille
Utiliser les composants fournis par Ant Design Web3 pour implémenter la fonctionnalité de connexion au portefeuille.
3.2 Page Mint
Implémentez la fonctionnalité de minting de NFT en interagissant avec le contrat à l'aide de la méthode useWriteContract de wagmi.
3.3 Page du portefeuille
Afficher les NFT détenus par l'utilisateur, prenant en charge les opérations de mise en vente et de retrait. Utiliser l'API OpenSea pour obtenir la liste des NFT de l'utilisateur et déterminer l'état de mise en vente des NFT par des méthodes de contrat.
3.4 Acheter page
Afficher tous les NFT répertoriés et fournir une fonction d'achat. Lors de l'achat, appeler la méthode purchaseNFT du contrat et payer en ETH.
Après avoir terminé les étapes ci-dessus, une plateforme de trading NFT décentralisée avec des fonctionnalités de base est établie. Elle peut être déployée sur la plateforme Vercel pour être présentée et utilisée.
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.
26 J'aime
Récompense
26
7
Reposter
Partager
Commentaire
0/400
HashRatePhilosopher
· 08-13 02:28
On a l'impression que tout le monde s'implique dans les NFT, je me barre.
Voir l'originalRépondre0
MaticHoleFiller
· 08-12 17:52
Des trucs qui impressionnent, il vaudrait mieux copier un peu d'Opensea.
Voir l'originalRépondre0
ImpermanentLossEnjoyer
· 08-11 23:17
La perte impermanente, en d'autres termes, signifie perdre des jetons sans raison.
Voir l'originalRépondre0
UnluckyMiner
· 08-10 13:39
Un nouveau projet a encore creusé un trou, lançons-nous.
Voir l'originalRépondre0
BearMarketSurvivor
· 08-10 13:38
Suivez et jouez avec un jetons mèmes.
Voir l'originalRépondre0
SchroedingerAirdrop
· 08-10 13:38
Encore une fois, quelle est cette piége des NFT ? Qui va rattraper un couteau qui tombe avec ce scamcoin ?
Voir l'originalRépondre0
HashRateHermit
· 08-10 13:37
Regardez, les smart contracts sont des portefeuilles matériel !
Guide complet pour construire une plateforme NFT de décentralisation à partir de zéro
Réaliser une plateforme de trading NFT décentralisée à partir de zéro
Pour les NFT conformes au protocole ERC-721, la façon de réaliser des transactions décentralisées diffère de celle des jetons ERC-20. Actuellement, les plateformes de trading NFT les plus courantes utilisent un système de commande, semblable à l'exposition de produits sur des étagères pour que les acheteurs puissent faire leur choix. Cet article présentera comment réaliser des transactions décentralisées pour les NFT en écrivant des contrats intelligents et une interface frontale simple. 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
NFT (jeton non fongible) est un actif numérique unique qui suit le protocole ERC-721. Chaque NFT a sa propre unicité, généralement affichée sous forme d'images différentes dans un portefeuille, et possède un identifiant unique. En raison de la nature spéciale des NFT, il n'est pas possible de définir un prix via une courbe de prix comme pour les jetons ERC-20, donc le moyen de transaction courant est d'utiliser une forme de livre de commandes.
Mode de trading sur carnet d'ordres
Le mode de trading sur carnet d'ordres se divise principalement en deux types :
Cet article se concentrera sur le mode de transaction par ordre de prix.
Fonctionnalités clés de la plateforme de trading NFT Décentralisation
Une plateforme NFT de décentralisation de base devrait inclure les fonctionnalités suivantes :
processus de mise en ligne des produits
Il est nécessaire de maintenir un tableau de correspondance des prix des produits mis en vente par les utilisateurs dans le contrat. Bien que ces données puissent être stockées dans un service décentralisé pour alléger la charge du contrat, cet article les conserve dans le contrat.
processus d'achat des produits
Réaliser une plateforme de trading NFT décentralisée
Ensuite, nous allons créer une plateforme de trading NFT décentralisée à partir de zéro.
1. Créer un NFT
Pour les besoins des tests, nous pouvons utiliser Remix pour déployer rapidement un contrat NFT conforme au protocole ERC-721. Nous pouvons également choisir d'utiliser un NFT préalablement préparé.
2. Rédaction de contrat
Le contrat doit inclure les méthodes clés suivantes :
2.1 Vendeur met en vente NFT
Les méthodes de mise en ligne doivent accomplir les tâches suivantes :
2.2 L'acheteur achète un NFT
Pour acheter, suivez les étapes suivantes :
2.3 Annuler la mise en ligne
Pour annuler la mise en vente, définissez le champ isActive dans l'enregistrement de mise en vente sur false.
2.4 Retrait des frais
La plateforme peut prélever des frais sur chaque transaction et les stocker dans le contrat ou les transférer à une adresse spécifiée.
3. Développement frontal
Le développement front-end nécessite l'utilisation des outils suivants :
L'application frontale comprend trois pages principales : Mint, Buy et Portfolio.
3.1 Connecter un portefeuille
Utiliser les composants fournis par Ant Design Web3 pour implémenter la fonctionnalité de connexion au portefeuille.
3.2 Page Mint
Implémentez la fonctionnalité de minting de NFT en interagissant avec le contrat à l'aide de la méthode useWriteContract de wagmi.
3.3 Page du portefeuille
Afficher les NFT détenus par l'utilisateur, prenant en charge les opérations de mise en vente et de retrait. Utiliser l'API OpenSea pour obtenir la liste des NFT de l'utilisateur et déterminer l'état de mise en vente des NFT par des méthodes de contrat.
3.4 Acheter page
Afficher tous les NFT répertoriés et fournir une fonction d'achat. Lors de l'achat, appeler la méthode purchaseNFT du contrat et payer en ETH.
Après avoir terminé les étapes ci-dessus, une plateforme de trading NFT décentralisée avec des fonctionnalités de base est établie. Elle peut être déployée sur la plateforme Vercel pour être présentée et utilisée.