mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 19:47:59 +00:00
Update documentation for uniques (This PR renames classes and instances to collections and items in the Uniques pallet in order to follow the commonly accepted NFTs terminology.) (#13322)
* Update documentation for uniques The documentation was outdated after merge of #11389 Using the widely spread term collections and item instead of the previous class and instance. * Update README.md --------- Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com> Co-authored-by: Jegor Sidorenko <jegor@parity.io>
This commit is contained in:
committed by
GitHub
parent
07dcd47d59
commit
c268f3d3c8
@@ -4,67 +4,71 @@ A simple, secure module for dealing with non-fungible assets.
|
||||
|
||||
## Overview
|
||||
|
||||
The Uniques module provides functionality for asset management of non-fungible asset classes, including:
|
||||
The Uniques module provides functionality for non-fungible tokens' management, including:
|
||||
|
||||
* Asset Issuance
|
||||
* Asset Transfer
|
||||
* Asset Destruction
|
||||
* Collection Creation
|
||||
* Item Minting
|
||||
* Item Transfers
|
||||
* Item Trading methods
|
||||
* Attributes Management
|
||||
* Item Burning
|
||||
|
||||
To use it in your runtime, you need to implement the assets [`uniques::Config`](https://paritytech.github.io/substrate/master/pallet_uniques/pallet/trait.Config.html).
|
||||
To use it in your runtime, you need to implement [`uniques::Config`](https://paritytech.github.io/substrate/master/pallet_uniques/pallet/trait.Config.html).
|
||||
|
||||
The supported dispatchable functions are documented in the [`uniques::Call`](https://paritytech.github.io/substrate/master/pallet_uniques/pallet/enum.Call.html) enum.
|
||||
|
||||
### Terminology
|
||||
|
||||
* **Asset issuance:** The creation of a new asset instance.
|
||||
* **Asset transfer:** The action of transferring an asset instance from one account to another.
|
||||
* **Asset burning:** The destruction of an asset instance.
|
||||
* **Non-fungible asset:** An asset for which each unit has unique characteristics. There is exactly
|
||||
one instance of such an asset in existence and there is exactly one owning account.
|
||||
* **Collection creation:** The creation of a new collection.
|
||||
* **Item minting:** The action of creating a new item within a collection.
|
||||
* **Item transfer:** The action of sending an item from one account to another.
|
||||
* **Item burning:** The destruction of an item.
|
||||
* **Non-fungible token (NFT):** An item for which each unit has unique characteristics. There is exactly
|
||||
one instance of such an item in existence and there is exactly one owning account.
|
||||
|
||||
### Goals
|
||||
|
||||
The Uniques pallet in Substrate is designed to make the following possible:
|
||||
|
||||
* Allow accounts to permissionlessly create asset classes (collections of asset instances).
|
||||
* Allow a named (permissioned) account to mint and burn unique assets within a class.
|
||||
* Move asset instances between accounts permissionlessly.
|
||||
* Allow a named (permissioned) account to freeze and unfreeze unique assets within a
|
||||
class or the entire class.
|
||||
* Allow the owner of an asset instance to delegate the ability to transfer the asset to some
|
||||
* Allow accounts to permissionlessly create NFT collections.
|
||||
* Allow a named (permissioned) account to mint and burn unique items within a collection.
|
||||
* Move items between accounts permissionlessly.
|
||||
* Allow a named (permissioned) account to freeze and unfreeze unique items within a
|
||||
collection or the entire collection.
|
||||
* Allow the owner of an item to delegate the ability to transfer the item to some
|
||||
named third-party.
|
||||
|
||||
## Interface
|
||||
|
||||
### Permissionless dispatchables
|
||||
* `create`: Create a new asset class by placing a deposit.
|
||||
* `transfer`: Transfer an asset instance to a new owner.
|
||||
* `redeposit`: Update the deposit amount of an asset instance, potentially freeing funds.
|
||||
* `create`: Create a new collection by placing a deposit.
|
||||
* `transfer`: Transfer an item to a new owner.
|
||||
* `redeposit`: Update the deposit amount of an item, potentially freeing funds.
|
||||
* `approve_transfer`: Name a delegate who may authorise a transfer.
|
||||
* `cancel_approval`: Revert the effects of a previous `approve_transfer`.
|
||||
|
||||
### Permissioned dispatchables
|
||||
* `destroy`: Destroy an asset class.
|
||||
* `mint`: Mint a new asset instance within an asset class.
|
||||
* `burn`: Burn an asset instance within an asset class.
|
||||
* `freeze`: Prevent an individual asset from being transferred.
|
||||
* `destroy`: Destroy a collection.
|
||||
* `mint`: Mint a new item within a collection.
|
||||
* `burn`: Burn an item within a collection.
|
||||
* `freeze`: Prevent an individual item from being transferred.
|
||||
* `thaw`: Revert the effects of a previous `freeze`.
|
||||
* `freeze_class`: Prevent all asset within a class from being transferred.
|
||||
* `thaw_class`: Revert the effects of a previous `freeze_class`.
|
||||
* `transfer_ownership`: Alter the owner of an asset class, moving all associated deposits.
|
||||
* `set_team`: Alter the permissioned accounts of an asset class.
|
||||
* `freeze_collection`: Prevent all items within a collection from being transferred.
|
||||
* `thaw_collection`: Revert the effects of a previous `freeze_collection`.
|
||||
* `transfer_ownership`: Alter the owner of a collection, moving all associated deposits.
|
||||
* `set_team`: Alter the permissioned accounts of a collection.
|
||||
|
||||
### Metadata (permissioned) dispatchables
|
||||
* `set_attribute`: Set a metadata attribute of an asset instance or class.
|
||||
* `clear_attribute`: Remove a metadata attribute of an asset instance or class.
|
||||
* `set_metadata`: Set general metadata of an asset instance.
|
||||
* `clear_metadata`: Remove general metadata of an asset instance.
|
||||
* `set_class_metadata`: Set general metadata of an asset class.
|
||||
* `clear_class_metadata`: Remove general metadata of an asset class.
|
||||
* `set_attribute`: Set an attribute of an item or collection.
|
||||
* `clear_attribute`: Remove an attribute of an item or collection.
|
||||
* `set_metadata`: Set general metadata of an item.
|
||||
* `clear_metadata`: Remove general metadata of an item.
|
||||
* `set_collection_metadata`: Set general metadata of a collection.
|
||||
* `clear_collection_metadata`: Remove general metadata of a collection.
|
||||
|
||||
### Force (i.e. governance) dispatchables
|
||||
* `force_create`: Create a new asset class.
|
||||
* `force_asset_status`: Alter the underlying characteristics of an asset class.
|
||||
* `force_create`: Create a new collection.
|
||||
* `force_asset_status`: Alter the underlying characteristics of a collection.
|
||||
|
||||
Please refer to the [`Call`](https://paritytech.github.io/substrate/master/pallet_uniques/pallet/enum.Call.html) enum
|
||||
and its associated variants for documentation on each function.
|
||||
|
||||
Reference in New Issue
Block a user