Допис
Діліться своїми знаннями.

Всередині кіоску Суй: як створити безпечні ринкові майданчики NFT
Що таке кіоск Суй?
Kiosk — це вбудований модуль смарт-контрактів на блокчейні Sui, призначений для стандартизації та спрощення способу зберігання, управління та торгівлі NFT. Він діє як програмована вітрина NFT — ідеально підходить для розробників, які хочуть уникнути переосмислення колеса для кожного проекту, пов'язаного з NFT.
Незалежно від того, чи створюєте ви ринок, біржу ігрових активів чи галерею цифрових предметів колекціонування, Kiosk пропонує вам безпечні, настроювані будівельні блоки.
🛠️ Основні характеристики кіоску
- 📦 Зберігання та дисплей NFT: Користувачі можуть депонувати NFT у смарт-контракти Kiosk, щоб зберігати, демонструвати або торгувати ними
- 🔐 Безпечний перехід власності: Усі потоки купівлі/продажу стандартизовані та перевірені - до побачення тіньові свопи 👋
- 🎛️ Точні дозволи: Кіоск дозволяє розробникам точно визначати, хто може що робити з кожним NFT.
- 📈 Розширюваність розробника: аукціони підключення, пакетні списки, пакети тощо.
🤔 Навіщо будувати з кіоском?
Уявіть, що ви запускаєте додаток NFT. Ймовірно, вам знадобиться спосіб, щоб користувачі могли безпечно зберігати активи. Спосіб перерахування та покупки активів.
Кіоск обробляє все це за вас. Замість того, щоб писати всі ці потоки з нуля (і ризикувати помилками 🐛 або експлойтами), ви використовуєте перевірений у бою 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
Кіоск є одним з найпотужніших примітивів в екосистемі 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.