Пост
Поделитесь своими знаниями.

В киоске Sui: как создать безопасные торговые площадки NFT
Что такое киоск Суи?
Kiosk — это встроенный модуль смарт-контрактов на блокчейне Sui, предназначенный для стандартизации и упрощения хранения, управления и торговли NFT. Он представляет собой программируемую витрину NFT, идеально подходящую для разработчиков, которые хотят не изобретать велосипед для каждого проекта, связанного с NFT.
Независимо от того, создаете ли вы торговую площадку, биржу игровых активов или цифровую галерею коллекционных предметов, Kiosk предлагает вам безопасные настраиваемые строительные блоки.
🛠️ Основные характеристики киоска
- 📦 Хранение и отображение NFT: пользователи могут вкладывать NFT в смарт-контракты Kiosk, чтобы хранить их, выставлять напоказ или торговать ими
- 🔐 Безопасная передача прав собственности: все процессы покупки/продажи стандартизированы и поддаются проверке — прощайте, сомнительные свопы 👋
- 🎛️ Подробные разрешения: Kiosk позволяет разработчикам точно определять, кто и что может делать с каждым NFT.
- 📈 Расширяемость возможностей разработчиков: подключайте аукционы, пакетные списки, пакеты и многое другое.
🤔 Зачем строить с помощью киоска?
Представьте, что вы запускаете приложение NFT. Скорее всего, вам понадобится способ безопасного хранения активов пользователями. Способ размещения и покупки активов.
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,
}
}
}
Команды (для интерфейса командной строки)
# 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 — один из самых мощных примитивов в экосистеме Sui для разработчиков NFT. Он абстрагирует повторяющуюся логику и привносит безопасность и модульность в ваш стек приложений. Всего за несколько строк кода вы создаете полноценные торговые потоки NFT, готовые к запуску и прошедшие боевые испытания.
- Sui
Могу ли я использовать Kiosk для создания одноранговой бартерной системы NFT (например, торговать NFT напрямую без токенов)? Или она предназначена исключительно для покупки/продажи?»
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Заработай свою долю из 1000 Sui
Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.