Desarrollar todo el proceso de implementación de una plataforma de intercambio NFT descentralizada desde cero

Crear una plataforma de intercambio de NFT descentralizada desde cero

Para los activos NFT que cumplen con el protocolo ERC-721, cómo lograr la Descentralización en las transacciones ha sido un foco de atención en la industria. Actualmente, los intercambios de NFT más populares utilizan un modelo de órdenes, similar a los productos exhibidos en los estantes de un supermercado para que los compradores elijan. Este artículo desarrollará un sistema básico de comercio descentralizado de NFT a través de la creación de contratos inteligentes y una interfaz frontal simple. Es importante señalar que este sistema es solo para referencia educativa y no debe usarse directamente en un entorno de producción.

Introducción a NFT

NFT es un token no fungible que sigue el estándar del protocolo ERC-721. Cada NFT es único y generalmente se muestra en la billetera en forma de diferentes imágenes, y tiene un ID único para su distinción.

Debido a las características de los NFT, no se pueden establecer precios de transacción a través de una curva de precios como los tokens ERC-20. Actualmente, la forma de negociación más común es mediante un libro de órdenes.

Serie para principiantes en Web3: implementar un DEX NFT desde cero

Modo de negociación del libro de órdenes

El modo de libro de órdenes tiene principalmente dos tipos:

  1. Orden de precios: el vendedor establece el precio, el comprador puede comprar si lo considera adecuado.

  2. Orden de compra: el comprador publica una orden de compra, el vendedor puede vender si acepta el precio

Este artículo se centrará en el modo de órdenes de precios.

Serie para principiantes en Web3: Implementar un DEX de NFT desde cero

Funciones centrales de la plataforma NFT

Una plataforma básica de NFT debe incluir las siguientes funciones:

  1. Listar productos: los usuarios pueden listar NFT a un precio determinado
  2. Compra de productos: los usuarios pueden comprar NFT al precio de lista.
  3. Comisión de la plataforma: se cobra un porcentaje determinado sobre el precio de la transacción.

proceso de listado

  1. Frontend: el usuario selecciona el NFT y establece el precio
  2. Contrato: el usuario autoriza la operación del NFT

Es necesario mantener una tabla de mapeo de precios de los productos listados dentro del contrato.

Proceso de compra

  1. Frontend: el usuario selecciona el NFT que desea comprar
  2. Contrato: transferir los fondos del comprador al vendedor, NFT transferido al comprador

Serie para principiantes de Web3: implementar un NFT DEX desde cero

Desarrollo de una plataforma de intercambio de NFT

1. Crear NFT de prueba

Se puede utilizar Remix para implementar rápidamente un contrato NFT del protocolo ERC-721 para pruebas.

Web3 novato serie: implementar un DEX NFT desde cero

2. Redactar contrato de la plataforma de negociación

El contrato necesita implementar los siguientes métodos principales:

2.1 Vendedor sube NFT

  • Verificar la propiedad del NFT
  • Añadir registro de listado
  • Activar evento de listado

2.2 El comprador adquiere NFT

  • Leer datos de NFT
  • Calcular y deducir la tarifa
  • Transferir NFT al comprador
  • Activar el evento de compra

2.3 Cancelar listado

  • Marcar el registro de listado como inválido

2.4 Extracción de comisiones

  • Retirar las tarifas acumuladas

Serie para principiantes de Web3: implementar un DEX de NFT desde cero

3. Desarrollo de la interfaz frontal

Utilice las siguientes herramientas:

  • Ant Design Web3: conectar billetera, mostrar NFT
  • Wagmi: Interacción con la cartera
  • Next.js + Vercel: despliegue del proyecto

Página principal:

  • Mint: crear NFT de prueba
  • Comprar: mercado de NFT
  • Cartera: gestionar NFT del usuario

3.1 Conectar billetera

Utilizar el componente Web3 de Ant Design para implementar la función de conexión de billetera.

Serie para principiantes de Web3: implementar un DEX de NFT desde cero

3.2 Página de Mint

Llamar al método Mint del contrato para acuñar NFT.

Serie para principiantes en Web3: implementar un DEX de NFT desde cero

3.3 Página de Portafolio

  • Mostrar todos los NFT del usuario
  • Soporta operaciones de listado y deslistado de NFT
  • Se debe autorizar el NFT al contrato antes de ponerlo en la plataforma

Serie para principiantes de Web3: implementar un DEX NFT desde cero

Serie para principiantes de Web3: Implementar un DEX de NFT desde cero

Serie para principiantes de Web3: Implementar un DEX de NFT desde cero

3.4 Página de compra

  • Mostrar todos los NFT listados
  • Implementar la función de compra de NFT

Serie para principiantes de Web3: implementar un DEX de NFT desde cero

Serie para principiantes en Web3: implementar un DEX de NFT desde cero

Finalmente, desplegar el frontend en Vercel completará una plataforma básica de intercambio descentralizado de NFT.

Serie para principiantes de Web3: implementar un DEX de NFT desde cero

Ver originales
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 5
  • Compartir
Comentar
0/400
BearMarketSagevip
· 07-05 02:47
perspectivas valiosas por favor actualiza más
Ver originalesResponder0
GasFeeCriervip
· 07-04 19:15
Muerte por desarrollo de contratos inteligentes
Ver originalesResponder0
FlyingLeekvip
· 07-04 08:21
perspectivas valiosas colección imprescindible
Ver originalesResponder0
BearMarketLightningvip
· 07-02 03:39
La tecnología central es muy práctica.
Ver originalesResponder0
ApeWithAPlanvip
· 07-02 03:20
¿Puede el frontend prevenir inyecciones?
Ver originalesResponder0
  • Anclado
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)