Guía completa para construir desde cero una plataforma de intercambio NFT Descentralización

Crear una plataforma de intercambio NFT desde cero

Tras investigar a fondo el comercio descentralizado de tokens ERC-20, no podemos evitar preguntarnos: ¿cómo se puede lograr el comercio descentralizado del protocolo ERC-721 (es decir, NFT)?

Actualmente, las plataformas de intercambio de NFT más populares utilizan un modelo de órdenes, similar a la exhibición de productos en estanterías de supermercados. Los compradores pueden comprar directamente el NFT que les guste a un precio adecuado.

Este artículo le guiará paso a paso para construir una plataforma de comercio descentralizada de NFT simple, incluyendo la redacción de contratos inteligentes y el desarrollo de una interfaz frontal básica. Tenga en cuenta que el contenido de este artículo es solo para referencia educativa y no es adecuado para un entorno de producción real.

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

Introducción a NFT

NFT (token no fungible) sigue el protocolo ERC-721, y cada token es único. Los NFT generalmente se muestran en la cartera en diferentes formas de imágenes y tienen un ID exclusivo para diferenciarlos.

Debido a la singularidad de los NFT, no se pueden valorar a través de curvas de precios como los tokens ERC-20. Por lo tanto, la forma común de comerciar con NFT es utilizando un libro de órdenes.

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

Modo de operación del libro de órdenes

Las transacciones en el libro de órdenes tienen principalmente dos modos:

  1. Orden de precio: el vendedor establece el precio de venta, y el comprador puede comprar si lo considera adecuado.
  2. Orden de compra: el comprador publica una orden de compra, el vendedor puede vender después de aceptar el precio.

Normalmente, el precio de la orden de compra será más bajo que el de la orden de precio. Este artículo se centrará en el modo de orden de precio.

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

Funciones clave de la plataforma de intercambio NFT Descentralización

Una plataforma de intercambio NFT de descentralización básica debe tener las siguientes funciones:

  1. Listar NFT: permite a los usuarios fijar precios para listar NFT
  2. Comprar NFT: los usuarios pueden comprar NFT al precio establecido.
  3. Comisión de la plataforma: se cobrará un porcentaje fijo sobre el precio de la transacción.

proceso de listado de NFT

  1. Frontend: El usuario selecciona el NFT y establece el precio, hace clic en listar.
  2. Contrato: El usuario autoriza al contrato a operar su NFT.

El contrato debe mantener una tabla de mapeo de precios de productos que los usuarios ponen a la venta. Aunque estos datos pueden almacenarse en un servicio centralizado para aliviar la carga del contrato, este artículo los mantendrá en el contrato.

Proceso de compra de NFT

  1. Frontend: El usuario elige el NFT que desea comprar y hace clic en comprar.
  2. Contrato: ejecutar la operación de transferencia, trasladar los fondos del comprador al vendedor, al mismo tiempo que se transfiere el NFT al comprador.

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

Construcción de una plataforma de intercambio NFT Descentralización

A continuación, implementaremos gradualmente una plataforma de intercambio descentralizada de NFT.

1. Crear NFT de prueba

Para fines de prueba, podemos utilizar Remix para implementar rápidamente un contrato NFT que cumpla con el protocolo ERC-721. Por supuesto, también podemos usar un NFT existente para realizar pruebas.

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

2. Desarrollo de contratos inteligentes

Nuestros contratos deben incluir las siguientes funciones clave:

2.1 NFT en la plataforma

El vendedor debe especificar el NFT y el precio al listar el NFT. El proceso de listado incluye:

  1. El usuario elige NFT
  2. Establecer precio (se puede utilizar USDT, USDC o ETH)
  3. Autorizar NFT al contrato

Métodos de listado de contratos que deben completarse:

  1. Verificar la propiedad del NFT
  2. Añadir registro de listado
  3. Activar el evento de listado

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

2.2 Compra de NFT

Cuando el comprador compra un NFT, el contrato debe ejecutarse:

  1. Leer datos de NFT
  2. Calcular y deducir la tarifa de servicio
  3. Transferir NFT al comprador
  4. Disparar evento de compra

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

2.3 Cancelar listado

El vendedor puede cancelar la lista de NFT. En el contrato, se utiliza el campo isActive para marcar si el producto es válido; al cancelar la lista, solo es necesario establecer ese campo en false.

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

2.4 Extracción de tarifas

La plataforma puede cobrar una tarifa por cada transacción, en este caso la tarifa se almacena en el contrato.

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

3. Desarrollo Frontend

El desarrollo frontend utiliza las siguientes herramientas:

  • Ant Design Web3: para conexión de billetera y exhibición de NFT
  • Wagmi: lograr la interacción de billeteras
  • Nextjs + Vercel: desplegar proyecto

La aplicación frontend incluye tres páginas principales: Mint, Buy y Portfolio.

3.1 Conectar billetera

Utiliza el componente de conexión de Ant Design Web3 para implementar la función de conexión de la cartera. Para mejorar la velocidad de consulta, se recomienda usar servicios de nodos como el endpoint de ZAN.

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

3.2 Página de Mint

Usar el método useWriteContract de wagmi para implementar la función de acuñación de NFT.

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

3.3 Página de Portafolio

Muestra los NFT que posee el usuario, soporta operaciones de listado y deslistado. Utiliza la API de opensea para obtener la lista de NFT y determina el estado de listado de los NFT a través de métodos de contrato.

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

3.4 Página de Compra

Muestra todos los NFT listados y proporciona la función de compra. Al comprar, llama al método purchaseNFT y paga con ETH.

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

Una vez completados los pasos anteriores, se ha construido una plataforma básica de intercambio descentralizado de NFT. Puede desplegarla en plataformas como Vercel para probarla y utilizarla.

Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • 6
  • Compartir
Comentar
0/400
NotGonnaMakeItvip
· hace9h
Esta trampa es realmente buena, ¿cuándo será Código abierto?
Ver originalesResponder0
SocialFiQueenvip
· 07-20 02:58
Aprovechar la tendencia. Cierto, ya era hora de que lo hiciera por mi cuenta.
Ver originalesResponder0
GateUser-ccc36bc5vip
· 07-20 02:58
¿Cuándo será el Código abierto?
Ver originalesResponder0
bridge_anxietyvip
· 07-20 02:57
órdenes abiertas en el comercio están pasadas de moda.
Ver originalesResponder0
TokenSherpavip
· 07-20 02:43
de hecho, esto es bastante rudimentario... he visto mejores implementaciones durante mis días de consultoría en DAO, para ser sincero
Ver originalesResponder0
HashBanditvip
· 07-20 02:40
sigo esperando que el escalado l2 haga que el comercio de nft sea soportable... esas tarifas de gas me matan cada vez smh
Ver originalesResponder0
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)