Sui.

Пост

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

article banner.
HaGiang.
May 01, 2025
Статья

В киоске 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
2
Поделиться
Комментарии
.
0xduckmove.
May 1 2025, 02:51

Могу ли я использовать Kiosk для создания одноранговой бартерной системы NFT (например, торговать NFT напрямую без токенов)? Или она предназначена исключительно для покупки/продажи?»

Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.

291Посты418Ответы
Sui.X.Peera.

Заработай свою долю из 1000 Sui

Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.

Кампания вознагражденийМай
Мы используем файлы cookie, чтобы гарантировать вам лучший опыт на нашем сайте.
Подробнее