Construire une plateforme de trading NFT décentralisée : des smart contracts à l'interface frontale

Construire une plateforme de trading NFT décentralisée à partir de zéro

Pour les NFT conformes au protocole ERC-721, comment réaliser une transaction décentralisée ? Actuellement, la méthode de transaction NFT la plus courante utilise un modèle de livre de commandes, semblable à l'affichage de produits sur une étagère, où les acheteurs peuvent acheter lorsque le prix leur semble approprié. Cet article mettra en œuvre une plateforme de transaction NFT décentralisée de base en écrivant des contrats intelligents et une simple page frontale.

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

Les fonctionnalités de base de la plateforme NFT

Une plateforme NFT de base devrait avoir les fonctions suivantes :

  1. Mettre en ligne un NFT : le vendeur peut fixer un prix pour mettre le NFT en vente.
  2. Acheter des NFT : les acheteurs peuvent acheter les NFT mis en vente au prix fixé.
  3. Perception de frais : la plateforme peut prélever un certain pourcentage des frais sur le prix de transaction.

mise en ligne NFT

Le processus pour mettre en ligne un NFT est le suivant :

  1. Le vendeur choisit le NFT à mettre en vente et fixe le prix.
  2. Le contrat de transaction autorisé par le vendeur peut opérer ce NFT
  3. Appeler la méthode de mise en ligne du contrat, enregistrer les informations de mise en ligne

acheter NFT

Le processus d'achat d'un NFT est le suivant :

  1. L'acheteur choisit le NFT qu'il souhaite acheter
  2. Appeler la méthode d'achat du contrat
  3. Le contrat transfère les fonds de l'acheteur au vendeur, tout en transférant le NFT à l'acheteur.

Web3 Nouveaux Series : Réaliser un DEX NFT depuis zéro

Réaliser une plateforme de trading

1. Créer un NFT de test

Vous pouvez utiliser Remix pour déployer rapidement un contrat NFT basé sur le protocole ERC-721 pour les tests.

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

2. Rédiger un contrat de transaction

Les contrats de transaction doivent implémenter les principales méthodes suivantes :

2.1 Mise en ligne de NFT

solidité function listNFT(address nftAddress, uint256 tokenId, uint256 price) public { // Vérifier la propriété de l'NFT // Enregistrer les informations de mise en ligne
// Déclencher l'événement de mise en ligne }

2.2 Acheter NFT

solidity function purchaseNFT(address nftAddress, uint256 tokenId) public payable { // Obtenir des informations sur la mise en vente des NFT // Calculer et déduire les frais // Transférer le NFT à l'acheteur // Déclencher l'événement d'achat
}

2.3 Annuler le listing

solidité function annulerAnnonce(adresse nftAddress, uint256 tokenId) public { // Vérifier les autorisations d'opération // Définir l'état de mise en vente sur invalide // Déclencher l'événement d'annulation }

2.4 Retrait de frais

solidité function retirerFrais() public seulementPropriétaire { // Frais de transaction dans le contrat de transfert }

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

3. Développement de l'interface frontale

Utilisez les outils suivants pour développer le 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éployer le projet

L'interface utilisateur comprend les pages principales suivantes :

  • Mint: utilisé pour créer des NFT de test
  • Acheter : marché NFT, vous pouvez acheter des NFT en vente.
  • Portefeuille : gérer les NFT des utilisateurs, possibilité de les mettre en vente et de les retirer.

3.1 Connecter un portefeuille

Utiliser le composant de connexion Ant Design Web3 pour implémenter la fonctionnalité de connexion au portefeuille.

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

3.2 Page de Mint

Appeler la méthode mint du contrat NFT pour créer un NFT de test.

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

3.3 Page de Portefeuille

  • Obtenir les NFT possédés par l'utilisateur
  • Déterminer si le NFT est déjà listé
  • Mettre en œuvre la fonction de mise en ligne et de retrait des NFT

Web3 Nouveaux utilisateurs : réaliser un DEX NFT à partir de zéro

3.4 Page d'achat

  • Afficher tous les NFT répertoriés
  • Réaliser la fonction d'achat

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

À ce stade, une plateforme de trading NFT décentralisée de base est terminée. Elle peut être déployée sur Vercel pour des tests.

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

Web3 Nouveaux utilisateurs série : Réaliser un DEX NFT depuis zéro

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

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

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

MINT-6.07%
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
  • 6
  • Partager
Commentaire
0/400
LiquidationWatchervip
· 07-04 15:00
été victime de trop de rugpulls pour faire confiance à un autre dex... faites attention à ces frais et smart contracts fam
Voir l'originalRépondre0
hodl_therapistvip
· 07-04 10:30
Après avoir étudié les smart contracts toute la journée, il faut encore tout recommencer depuis le front-end ?
Voir l'originalRépondre0
MetaverseLandladyvip
· 07-01 16:13
Les frais ne doivent pas être meilleurs que ce que notre propriétaire gagne, tout est presque pris pour des idiots.
Voir l'originalRépondre0
ChainMelonWatchervip
· 07-01 16:12
Les frais sont vraiment une taxe sur l'intelligence, n'est-ce pas ?
Voir l'originalRépondre0
GasFeeCriervip
· 07-01 16:04
Encore en train d'émettre des jetons gas, quand cela deviendra-t-il moins cher ?
Voir l'originalRépondre0
FlashLoanKingvip
· 07-01 15:54
Rire à mourir, encore en train de faire des smart contracts.
Voir l'originalRépondre0
  • Épingler
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)