Publicación
Comparte tu conocimiento.

Dentro del quiosco de Sui: cómo crear mercados NFT seguros
¿Qué es el quiosco de Sui?
Kiosk es un módulo de contrato inteligente nativo de la cadena de bloques Sui, diseñado para estandarizar y simplificar la forma en que se almacenan, administran y comercializan las NFT. Actúa como un escaparate programable de NFT, ideal para los desarrolladores que quieren evitar tener que reinventar la rueda en cada proyecto relacionado con los NFT.
Ya sea que estés creando un mercado, un intercambio de activos de juegos o una galería de objetos coleccionables digitales, Kiosk te ofrece componentes básicos seguros y personalizables.
🛠️ Características principales de Kiosk
- 📦 Almacenamiento y visualización de NFT: los usuarios pueden depositar NFT en Kiosk Smart Contracts para almacenarlos, mostrarlos o intercambiarlos
- 🔐 Transferencia de propiedad segura: todos los flujos de compra/venta están estandarizados y son verificables: ¡adiós a las permutas sospechosas 👋
- 🎛️ Permisos detallados: Kiosk permite a los desarrolladores definir exactamente quién puede hacer qué con cada NFT.
- 📈 Extensibilidad para desarrolladores: incluye subastas, anuncios por lotes, paquetes y mucho más.
🤔 ¿Por qué construir con Kiosk?
Imagina que estás lanzando una aplicación NFT. Es probable que necesites una forma para que los usuarios almacenen los activos de forma segura. Una forma de listar y comprar activos.
Kiosk se encarga de todo eso por ti. En lugar de escribir todos estos flujos desde cero (y correr el riesgo de que se produzcan errores 🐛 o vulnerabilidades), utilizas la API de Kiosk, que ha sido probada con éxito.
🧪 Ejemplo de aplicación: construir con Kiosk
Veamos un ejemplo real. Crearás un módulo NFT básico y, a continuación, utilizarás el módulo Kiosk para depositarlo, ponerlo en venta y permitir que otros lo compren.
Desglose del código paso a paso
module 0xNFT::simple_nft {
use sui::object::{UID};
use sui::tx_context::TxContext;
struct SimpleNFT has key {
id: UID,
name: String,
description: String,
url: String,
}
public entry fun mint(
name: String,
description: String,
url: String,
ctx: &mut TxContext
): SimpleNFT {
SimpleNFT {
id: UID::new(ctx),
name,
description,
url,
}
}
}
Comandos (en la CLI)
# Compile your package
sui move build
# Deploy to network
sui client publish --gas-budget 10000
# Mint NFT
sui client call --function mint --module simple_nft \
--args "My NFT" "Desc" "https://example.com/img.png" --gas-budget 1000
# Initialize Kiosk
sui client call --function init_kiosk --module kiosk_example --gas-budget 1000
# Deposit NFT to Kiosk
sui client call --function deposit_nft --module kiosk_example \
--args <NFT_ID> <KIOSK_ID> <KIOSK_OWNER_CAP_ID> --gas-budget 1000
# List for sale
sui client call --function list_nft_for_sale --module kiosk_example \
--args <KIOSK_ID> <KIOSK_OWNER_CAP_ID> <NFT_ID> 100 --gas-budget 1000
# Purchase NFT
sui client call --function purchase_nft --module kiosk_example \
--args <KIOSK_ID> <NFT_ID> <PAYMENT_COIN_ID> --gas-budget 1000
Kiosk es una de las primitivas más poderosas del ecosistema Sui para los desarrolladores de NFT. Abstrae la lógica repetitiva e inyecta seguridad y modularidad en tu pila de aplicaciones. Con solo unas pocas líneas de código, estás creando flujos completos de mercado de NFT listos para la producción y probados.
- Sui
¿Puedo usar Kiosk para crear un sistema de trueque de NFT entre pares (como intercambiar NFT directamente sin fichas)? ¿O es solo para configuraciones de compra/venta?»
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Gana tu parte de 1000 Sui
Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.