帖子
分享您的知识。

在 Sui 的售货亭里面:如何建立安全的 NFT 市场
什么是 Sui's Kiosk?
Kiosk 是 Sui 区块链上的原生智能合约模块,旨在标准化和简化 NFT 的存储、管理和交易方式. 它充当可编程的 NFT 店面,非常适合那些希望避免为每个 NFT 相关项目重新设计方向盘的开发者.
无论您是在建立市场、游戏资产交易所还是数字收藏品画廊,Kiosk 都能为您提供安全、可自定义的构建模块.
🛠️ 自助终端的主要功能
-📦 NFT 存储和显示:用户可以将 NFT 存入 Kiosk 智能合约中以存储、炫耀或交易它们 -🔐 安全所有权转移:所有买入/卖出流程均已标准化且可验证——再见阴暗的互换 👋 -🎛️ 细粒度权限:Kiosk 允许开发人员准确定义谁可以用每个 NFT 做什么. -📈 开发者可扩展性:插件拍卖、批量上市、捆绑包等.
🤔 为什么要使用 Kiosk 进行构建?
想象一下你正在启动一个 NFT 应用程序. 你可能需要一种方法让用户安全地存储资产. 一种上市和购买资产的方法.
Kiosk 可以为您处理所有这些. 您可以使用 Kiosk 久经考验的 API,而不是从头开始编写所有这些流程(冒着错误 🐛 或漏洞的风险).
🧪 示例应用程序:使用 Kiosk 进行构建
让我们来看一个真实的例子. 您将创建一个基本的 NFT 模块,然后使用 Kiosk 模块对其进行存款、上架并允许其他人购买.
分步代码分解
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,
}
}
}
命令(Sui 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
对于 NFT 开发者来说,Kiosk 是 Sui 生态系统中最强大的原语之一. 它可以抽象出重复的逻辑,为您的应用程序堆栈注入安全性和模块化. 只需几行代码,您就可以建立完整的 NFT 市场流程,这些流程已做好生产准备并经过实战考验.
- Sui
我可以使用 Kiosk 构建点对点 NFT 易货系统(比如不使用代币直接交易 NFT)吗?还是仅限于买入/卖出设置?”
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.