Construir desde cero una plataforma de intercambio NFT Descentralización: contratos inteligentes y implementación de frontend

robot
Generación de resúmenes en curso

Implementar una plataforma de intercambio NFT de Descentralización simple

¿Cómo se puede lograr el comercio descentralizado para los NFT que siguen el protocolo ERC-721? Actualmente, la mayoría de las plataformas de comercio de NFT utilizan un método de órdenes de compra, similar a cómo los productos están exhibidos en estantes; los compradores pueden comprar si consideran que el precio es adecuado. Este artículo implementará una función básica de comercio descentralizado de NFT mediante la redacción de contratos inteligentes y una sencilla página de frontend.

NFT( Token no fungible ) Introducción

NFT es un token no fungible, que sigue el protocolo ERC-721, y cada Token es único. Generalmente, los NFT se muestran en la billetera con diferentes imágenes, y cada grupo de NFT tiene un ID único para su distinción. Debido a las características de los NFT, no se pueden fijar precios a través de curvas de precios como los tokens ERC-20, por lo que el método de negociación común es a través de un libro de órdenes.

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

Modo de negociación en el libro de órdenes

En el modo de libro de órdenes, el precio de los productos es establecido por personas, a diferencia de la forma en que los creadores de mercado automáticos calculan los precios según la curva de precios. Normalmente, hay dos modos de operación en el libro de órdenes:

  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 emite una orden de compra, el vendedor puede vender si considera que el precio es adecuado.

En general, el precio de una orden de compra será más bajo que el de una orden de precio. Este artículo presenta principalmente el modo de transacción de órdenes de precio.

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

Funciones básicas de la plataforma NFT

Una plataforma básica de NFT debería incluir las siguientes funciones:

  1. Listar productos: poner el NFT a la venta a un precio establecido
  2. Comprar productos: realizar la compra según el precio de NFT
  3. Comisión de la plataforma: se cobrará un porcentaje según el precio de la transacción.

proceso de listado de productos

  1. Frontend: el usuario selecciona el NFT y establece el precio, hace clic en listar.
  2. Contrato: el usuario autoriza la operación del NFT por el contrato

Se debe mantener una tabla de mapeo de precios de productos listados por el usuario en el contrato.

Proceso de compra de productos

  1. Frontend: El usuario selecciona el NFT y hace clic en comprar
  2. Contrato: Transferir los fondos del comprador al vendedor, el NFT al comprador

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

Implementar una plataforma de NFT

Esta sección implementará desde cero una simple plataforma de NFT.

1. Crear un NFT de prueba

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

Serie para novatos en Web3: crear un DEX de NFT desde cero

2. Escribir contratos inteligentes

El contrato debe incluir los siguientes métodos principales:

2.1 Vendedor sube NFT

Proceso:

  1. El usuario selecciona NFT
  2. Establecer precio
  3. Autorizar NFT al contrato
  4. Llamar al método de listado

El método de listado necesita:

  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 de NFT desde cero

2.2 El comprador compra NFT

Pasos de ejecución del contrato:

  1. Leer datos de NFT
  2. Calcular y deducir la tarifa de transacción
  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

Establecer el campo isActive de los registros en la plataforma como falso.

2.4 Extracción de tarifas

Retirar las tarifas acumuladas en el contrato a la dirección especificada.

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

3. Desarrollar la interfaz frontal

Utilice las siguientes herramientas:

  • Ant Design Web3: conectar billetera y mostrar NFT
  • Wagmi: interacción con la cartera
  • Next.js + Vercel: desplegar proyecto

El frontend incluye tres páginas: Mint, Buy y Portfolio.

Web3新手系列:从零实现一个NFT DEX

3.1 Conectar billetera

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

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

3.2 Página de Mint

Para acuñar el NFT de prueba, utiliza el método useWriteContract de wagmi para llamar al contrato.

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

3.3 Página de Portafolio

Mostrar NFT de usuarios, soporta operaciones de listado y deslistado.

Proceso de listado:

  1. Autorizar NFT al contrato
  2. Llamar al método listNFT

Retirar: llamar al método cancelListing

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

3.4 Página de Compra

Mostrar todos los NFT listados, soporta la operació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 implementado una plataforma de comercio de NFT con funciones básicas, que se puede desplegar en Vercel para pruebas.

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

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
  • 4
  • Compartir
Comentar
0/400
TokenSleuthvip
· 07-15 08:04
Así es, sin nada especial.
Ver originalesResponder0
LiquidityWitchvip
· 07-12 12:42
¿Cuánto puede ser la tarifa? Dame algo concreto.
Ver originalesResponder0
TheMemefathervip
· 07-12 12:40
Con las tarifas, puedes ganar a montones.
Ver originalesResponder0
VibesOverChartsvip
· 07-12 12:39
¿Otra vez quieres tomar a la gente por tonta?
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)