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.
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.
Modo de operación del libro de órdenes
Las transacciones en el libro de órdenes tienen principalmente dos modos:
Orden de precio: el vendedor establece el precio de venta, y el comprador puede comprar si lo considera adecuado.
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.
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:
Listar NFT: permite a los usuarios fijar precios para listar NFT
Comprar NFT: los usuarios pueden comprar NFT al precio establecido.
Comisión de la plataforma: se cobrará un porcentaje fijo sobre el precio de la transacción.
proceso de listado de NFT
Frontend: El usuario selecciona el NFT y establece el precio, hace clic en listar.
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
Frontend: El usuario elige el NFT que desea comprar y hace clic en comprar.
Contrato: ejecutar la operación de transferencia, trasladar los fondos del comprador al vendedor, al mismo tiempo que se transfiere el NFT al comprador.
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.
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:
El usuario elige NFT
Establecer precio (se puede utilizar USDT, USDC o ETH)
Autorizar NFT al contrato
Métodos de listado de contratos que deben completarse:
Verificar la propiedad del NFT
Añadir registro de listado
Activar el evento de listado
2.2 Compra de NFT
Cuando el comprador compra un NFT, el contrato debe ejecutarse:
Leer datos de NFT
Calcular y deducir la tarifa de servicio
Transferir NFT al comprador
Disparar evento de compra
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.
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.
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.
3.2 Página de Mint
Usar el método useWriteContract de wagmi para implementar la función de acuñación 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.
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.
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.
14 me gusta
Recompensa
14
6
Compartir
Comentar
0/400
NotGonnaMakeIt
· hace9h
Esta trampa es realmente buena, ¿cuándo será Código abierto?
Ver originalesResponder0
SocialFiQueen
· 07-20 02:58
Aprovechar la tendencia. Cierto, ya era hora de que lo hiciera por mi cuenta.
Ver originalesResponder0
GateUser-ccc36bc5
· 07-20 02:58
¿Cuándo será el Código abierto?
Ver originalesResponder0
bridge_anxiety
· 07-20 02:57
órdenes abiertas en el comercio están pasadas de moda.
Ver originalesResponder0
TokenSherpa
· 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
HashBandit
· 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
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.
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.
Modo de operación del libro de órdenes
Las transacciones en el libro de órdenes tienen principalmente dos modos:
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.
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:
proceso de listado de 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
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.
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:
Métodos de listado de contratos que deben completarse:
2.2 Compra de NFT
Cuando el comprador compra un NFT, el contrato debe ejecutarse:
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.
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.
3. Desarrollo Frontend
El desarrollo frontend utiliza las siguientes herramientas:
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.
3.2 Página de Mint
Usar el método useWriteContract de wagmi para implementar la función de acuñación 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.
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.
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.