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