From 55467822c603c621e4909fb3c38f07906e5a2609 Mon Sep 17 00:00:00 2001 From: Pavlo Botnar Date: Thu, 5 Dec 2024 21:11:13 +0200 Subject: [PATCH] fix(docs/kiosk): update some Kiosk links, add more examples (#4193) * fix(docs/kiosk): update some Kiosk links, add more examples, create marketplace extension doc page --- .../developer/iota-101/nft/marketplace.mdx | 17 +++++++++++++++++ .../content/developer/iota-101/nft/rent-nft.mdx | 5 +++++ docs/content/developer/standards/kiosk-apps.mdx | 3 +++ docs/content/sidebars/developer.js | 2 +- docs/examples/move/nft_marketplace/README.md | 2 +- 5 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 docs/content/developer/iota-101/nft/marketplace.mdx diff --git a/docs/content/developer/iota-101/nft/marketplace.mdx b/docs/content/developer/iota-101/nft/marketplace.mdx new file mode 100644 index 00000000000..e5c20e2fa67 --- /dev/null +++ b/docs/content/developer/iota-101/nft/marketplace.mdx @@ -0,0 +1,17 @@ +--- +description: A brief introduction to implementing NFT marketplace extension using the Kiosk Apps standard in IOTA's Move language. +--- + + + + +import Marketplace from '../../../../examples/move/nft_marketplace/README.md'; + +# Marketplace Extension + +The Marketplace Extension for [IOTA Kiosk](../../standards/kiosk.mdx) is a customizable framework that extends the functionality of the IOTA Kiosk by enabling efficient asset trading with integrated royalty management and pricing mechanism. + +Kiosk owners can list items for sale by setting prices, and enforce royalties, ensuring creators receive a percentage of each sale. Buyers can securely purchase items, with the extension validating payments and handling royalties automatically. All transactions are governed by robust transfer policies, ensuring security and compliance. + + + diff --git a/docs/content/developer/iota-101/nft/rent-nft.mdx b/docs/content/developer/iota-101/nft/rent-nft.mdx index df7f28a81c3..d4e93624b30 100644 --- a/docs/content/developer/iota-101/nft/rent-nft.mdx +++ b/docs/content/developer/iota-101/nft/rent-nft.mdx @@ -77,6 +77,11 @@ The rental smart contract utilizes th [Kiosk Apps](../../standards/kiosk-apps.md Both lenders and borrowers must install a Kiosk extension to participate. Additionally, the creator of the NFT type must create a rental policy and a `ProtectedTP` object to allow the extension to manage rentals while enforcing royalties. +## Move Module Details + +The NFT rental functionality is implemented in a single Move module: `nft_rental.move`. +You can find the source code in the [IOTA repository](https://github.com/iotaledger/iota/tree/develop/docs/examples/move/nft_marketplace/sources/rental_extension.move) under the `examples` directory. The code includes comments to help you understand the logic and structure. + ### The `nft_rental` Module The `nft_rental` module provides an API for: diff --git a/docs/content/developer/standards/kiosk-apps.mdx b/docs/content/developer/standards/kiosk-apps.mdx index 116cdccf28f..cb88f6eab24 100644 --- a/docs/content/developer/standards/kiosk-apps.mdx +++ b/docs/content/developer/standards/kiosk-apps.mdx @@ -259,5 +259,8 @@ txb.moveCall({ ## Related links - [NFT Rental](../iota-101/nft/rent-nft.mdx): An example implementation of the Kiosk Apps standard that enables renting NFTs. +- [NFT Rental Extension](https://github.com/iotaledger/iota/tree/develop/docs/examples/move/nft_marketplace/sources/rental_extension.move): An example implementation of the Kiosk Extension standard that enables renting NFTs. +- [Marketplace](../iota-101/nft/marketplace.mdx): An example implementation of the Kiosk Apps standard that enables marketplace functionality. +- [Marketplace Extension](https://github.com/iotaledger/iota/tree/develop/docs/examples/move/nft_marketplace/sources/marketplace_extension.move): Move module that contains the source code(Kiosk extension) for the marketplace app. \ No newline at end of file diff --git a/docs/content/sidebars/developer.js b/docs/content/sidebars/developer.js index 32192dd666b..e8ac1eb1bb5 100644 --- a/docs/content/sidebars/developer.js +++ b/docs/content/sidebars/developer.js @@ -212,7 +212,7 @@ const developer = [ { type: 'category', label: 'NFT', - items: ['developer/iota-101/nft/create-nft', 'developer/iota-101/nft/rent-nft'], + items: ['developer/iota-101/nft/create-nft', 'developer/iota-101/nft/rent-nft', 'developer/iota-101/nft/marketplace'], }, { type: 'category', diff --git a/docs/examples/move/nft_marketplace/README.md b/docs/examples/move/nft_marketplace/README.md index 42cb414ab65..80b330362ff 100644 --- a/docs/examples/move/nft_marketplace/README.md +++ b/docs/examples/move/nft_marketplace/README.md @@ -1,4 +1,4 @@ -# Marketplace Guide +# Marketplace Extension Usage ## Modules