Publication
Partagez vos connaissances.

Inside Sui's Kiosk : comment créer des places de marché NFT sécurisées
Qu'est-ce que le kiosque de Sui ?
Kiosk est un module de contrat intelligent natif sur la blockchain Sui, conçu pour standardiser et simplifier la façon dont les NFT sont stockés, gérés et échangés. Il agit comme une vitrine NFT programmable, idéale pour les développeurs qui souhaitent éviter de réinventer la roue pour chaque projet lié aux NFT.
Que vous créiez une place de marché, un échange d'actifs de jeu ou une galerie d'objets de collection numériques, Kiosk vous propose des blocs de construction sécurisés et personnalisables.
🛠️ Principales caractéristiques du kiosque
- 📦 Stockage et affichage des NFT : les utilisateurs peuvent déposer des NFT dans des contrats intelligents Kiosk pour les stocker, les mettre en valeur ou les échanger
- 🔐 Transfert de propriété sécurisé : tous les flux d'achat/vente sont standardisés et vérifiables, adieu les échanges louches 👋
- 🎛️ Autorisations précises : Kiosk permet aux développeurs de définir exactement qui peut faire quoi avec chaque NFT.
- 📈 Extensibilité pour les développeurs : ajoutez des enchères, des listes de lots, des offres groupées, etc.
🤔 Pourquoi construire avec Kiosk ?
Imaginez que vous lancez une application NFT. Vous aurez probablement besoin d'un moyen permettant aux utilisateurs de stocker leurs actifs en toute sécurité. Un moyen de répertorier et d'acheter des actifs.
Kiosk s'occupe de tout cela pour vous. Au lieu d'écrire tous ces flux à partir de zéro (et de risquer des bugs 🐛 ou des exploits), vous utilisez l'API testée au combat de Kiosk.
🧪 Exemple d'application : Construire avec un kiosque
Passons à un exemple concret. Vous allez créer un module NFT de base, puis utiliser le module Kiosk pour le déposer, le répertorier et permettre à d'autres de l'acheter.
Répartition du code étape par étape
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,
}
}
}
Commandes (via 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 est l'une des primitives les plus puissantes de l'écosystème Sui pour les développeurs de NFT. Il élimine la logique répétitive et injecte sécurité et modularité dans votre pile d'applications. Avec seulement quelques lignes de code, vous créez des flux de marché NFT complets, prêts pour la production et testés au combat.
- Sui
Puis-je utiliser Kiosk pour créer un système de troc NFT peer-to-peer (comme échanger des NFT directement sans jetons) ? Ou est-ce uniquement réservé aux configurations d'achat/vente ? »
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Gagne ta part de 1000 Sui
Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.