Para los NFT que siguen el protocolo ERC-721, la forma de realizar transacciones de Descentralización es diferente a la de los tokens ERC-20. Actualmente, las principales plataformas de intercambio de NFT utilizan principalmente un modelo de órdenes, similar a exhibir productos en los estantes de un supermercado; los compradores pueden adquirir los productos que consideren a un precio adecuado.
Este artículo implementará una función básica de intercambio descentralizado de NFT a través de la redacción de contratos inteligentes y una interfaz frontend simple. Es importante señalar que el contenido de este artículo es solo para referencia educativa y no es adecuado para entornos de producción reales.
Características básicas de NFT
NFT es un token no fungible, cada Token es único y sigue el protocolo ERC-721. En general, cada NFT mostrará una imagen diferente en la billetera, y cada grupo de NFT tiene un ID único para su diferenciación.
Debido a esta característica de los NFT, no es posible determinar el precio a través de una curva de precios como con los tokens ERC-20. Por lo tanto, la forma de comercio más común en la actualidad es a través de un libro de órdenes.
Modo de negociación de libro de órdenes
En el modo de libro de órdenes, el precio del producto es establecido por personas, a diferencia del modo de creador de mercado automático que calcula los precios a través de algoritmos. El libro de órdenes generalmente tiene dos formas de transacción:
Orden de precio: el vendedor establece el precio de venta, y el comprador puede comprar si lo considera adecuado.
Orden de compra: el comprador emite una orden de compra, y el vendedor puede vender si considera que el precio es adecuado.
En general, el precio de las órdenes de compra será más bajo que el de las órdenes de precios. Este artículo se centrará en el modo de transacción de órdenes de precios.
Funciones básicas de NFT DEX
Un DEX de NFT básico debería incluir las siguientes funciones clave:
Listar productos: poner el NFT a la venta según el precio establecido.
Compra de productos: compra según el precio del NFT
Cobro de tarifas: se cobrará una tarifa proporcional según el precio de la transacción.
Proceso de listado de productos
Para listar productos, se deben completar los siguientes pasos:
Frontend: El usuario selecciona el NFT y establece el precio, luego hace clic en listar.
Contrato: el usuario autoriza la operación del NFT por parte del contrato.
En el contrato, se necesita mantener un mapa de precios de los productos que los usuarios han listado. Esta parte de los datos también se puede almacenar en servicios centralizados para aliviar la carga del contrato, pero en este artículo se guardará en el contrato.
Proceso de compra de productos
Al comprar productos, ocurrirán las siguientes cosas:
Frontend: El usuario selecciona el NFT que desea comprar y hace clic en comprar.
Contrato: llamar al contrato, transferir los fondos del comprador al vendedor y transferir el NFT al comprador.
Implementar DEX de NFT
A continuación, implementaremos un DEX de NFT desde cero.
1. Crear un NFT de prueba
Para necesidades de prueba, podemos usar Remix para desplegar rápidamente un contrato NFT que siga el protocolo ERC-721. También se puede usar un NFT ya preparado para las pruebas.
2. Escribir contratos inteligentes
El contrato debe incluir los siguientes métodos principales:
2.1 Vender NFT
Proceso:
El usuario selecciona NFT
Establecer precio
Autorizar NFT al contrato
Llamar al método de listado
El método de listado requiere:
Verificar la propiedad del NFT
Agregar registro de listado
Activar el evento de listado
2.2 Comprador compra NFT
Proceso de compra:
Leer datos de NFT
Calcular y deducir la tarifa de transacción
Transferir NFT al comprador
Disparar evento de compra
2.3 Cancelar listado
Solo establece el campo isActive en el registro de listado como false.
2.4 Retiro de tarifas
Retirar las comisiones acumuladas en el contrato a la dirección especificada.
3. Desarrollo del frontend DEX
Las principales herramientas necesarias para el desarrollo front-end:
Ant Design Web3: para la conexión de billeteras y la exhibición de NFT
Wagmi: utilizado para interactuar con la billetera
Next.js + Vercel: desplegar proyecto
La interfaz debe incluir tres páginas principales: Mint, Buy y Portfolio.
3.1 Conectar billetera
Implementar la función de conexión de billetera utilizando componentes Web3 de Ant Design.
3.2 Página de Mint
Para acuñar un NFT de prueba, utiliza el método useWriteContract de wagmi para llamar al contrato.
3.3 Página de Portafolio
Muestra los NFT que posee el usuario, permite operaciones de listado y deslistado.
Al listar, se debe llamar al método listNFT, y al deslistar, se debe llamar al método cancelListing. Antes de listar, se debe autorizar el NFT al contrato.
3.4 Página de Compra
Mostrar todos los NFT listados, soporta la operación de compra.
Llama al método purchaseNFT al comprar y paga el ETH correspondiente.
Una vez completados los pasos anteriores, se ha implementado un DEX básico de NFT. Se puede desplegar en plataformas como Vercel para realizar pruebas y su uso.
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.
10 me gusta
Recompensa
10
7
Compartir
Comentar
0/400
RugPullProphet
· 07-08 04:56
No es necesario complicar tanto el frontend, ¿verdad?
Ver originalesResponder0
0xInsomnia
· 07-07 17:14
¿A los desarrolladores les gusta jugar con dex últimamente?
Ver originalesResponder0
GasFeeSobber
· 07-06 19:00
望眼欲穿alcista解锁Solidity
Ver originalesResponder0
OPsychology
· 07-06 18:58
Entrenador, yo también quiero escribir un contrato dex.
Crear una plataforma de intercambio NFT Descentralización paso a paso: desde el contrato hasta la implementación en el frontend
Implementación de NFT Descentralización
Para los NFT que siguen el protocolo ERC-721, la forma de realizar transacciones de Descentralización es diferente a la de los tokens ERC-20. Actualmente, las principales plataformas de intercambio de NFT utilizan principalmente un modelo de órdenes, similar a exhibir productos en los estantes de un supermercado; los compradores pueden adquirir los productos que consideren a un precio adecuado.
Este artículo implementará una función básica de intercambio descentralizado de NFT a través de la redacción de contratos inteligentes y una interfaz frontend simple. Es importante señalar que el contenido de este artículo es solo para referencia educativa y no es adecuado para entornos de producción reales.
Características básicas de NFT
NFT es un token no fungible, cada Token es único y sigue el protocolo ERC-721. En general, cada NFT mostrará una imagen diferente en la billetera, y cada grupo de NFT tiene un ID único para su diferenciación.
Debido a esta característica de los NFT, no es posible determinar el precio a través de una curva de precios como con los tokens ERC-20. Por lo tanto, la forma de comercio más común en la actualidad es a través de un libro de órdenes.
Modo de negociación de libro de órdenes
En el modo de libro de órdenes, el precio del producto es establecido por personas, a diferencia del modo de creador de mercado automático que calcula los precios a través de algoritmos. El libro de órdenes generalmente tiene dos formas de transacción:
Orden de precio: el vendedor establece el precio de venta, y el comprador puede comprar si lo considera adecuado.
Orden de compra: el comprador emite una orden de compra, y el vendedor puede vender si considera que el precio es adecuado.
En general, el precio de las órdenes de compra será más bajo que el de las órdenes de precios. Este artículo se centrará en el modo de transacción de órdenes de precios.
Funciones básicas de NFT DEX
Un DEX de NFT básico debería incluir las siguientes funciones clave:
Proceso de listado de productos
Para listar productos, se deben completar los siguientes pasos:
En el contrato, se necesita mantener un mapa de precios de los productos que los usuarios han listado. Esta parte de los datos también se puede almacenar en servicios centralizados para aliviar la carga del contrato, pero en este artículo se guardará en el contrato.
Proceso de compra de productos
Al comprar productos, ocurrirán las siguientes cosas:
Implementar DEX de NFT
A continuación, implementaremos un DEX de NFT desde cero.
1. Crear un NFT de prueba
Para necesidades de prueba, podemos usar Remix para desplegar rápidamente un contrato NFT que siga el protocolo ERC-721. También se puede usar un NFT ya preparado para las pruebas.
2. Escribir contratos inteligentes
El contrato debe incluir los siguientes métodos principales:
2.1 Vender NFT
Proceso:
El método de listado requiere:
2.2 Comprador compra NFT
Proceso de compra:
2.3 Cancelar listado
Solo establece el campo isActive en el registro de listado como false.
2.4 Retiro de tarifas
Retirar las comisiones acumuladas en el contrato a la dirección especificada.
3. Desarrollo del frontend DEX
Las principales herramientas necesarias para el desarrollo front-end:
La interfaz debe incluir tres páginas principales: Mint, Buy y Portfolio.
3.1 Conectar billetera
Implementar la función de conexión de billetera utilizando componentes Web3 de Ant Design.
3.2 Página de Mint
Para acuñar un NFT de prueba, utiliza el método useWriteContract de wagmi para llamar al contrato.
3.3 Página de Portafolio
Muestra los NFT que posee el usuario, permite operaciones de listado y deslistado.
Al listar, se debe llamar al método listNFT, y al deslistar, se debe llamar al método cancelListing. Antes de listar, se debe autorizar el NFT al contrato.
3.4 Página de Compra
Mostrar todos los NFT listados, soporta la operación de compra.
Llama al método purchaseNFT al comprar y paga el ETH correspondiente.
Una vez completados los pasos anteriores, se ha implementado un DEX básico de NFT. Se puede desplegar en plataformas como Vercel para realizar pruebas y su uso.