diff --git a/docs/04-enjin-blockchain/03-enjin-matrixchain/01-multitoken-pallet.md b/docs/04-enjin-blockchain/03-enjin-matrixchain/01-multitoken-pallet.md index 4045ba4..5c8c5ee 100644 --- a/docs/04-enjin-blockchain/03-enjin-matrixchain/01-multitoken-pallet.md +++ b/docs/04-enjin-blockchain/03-enjin-matrixchain/01-multitoken-pallet.md @@ -1,5 +1,5 @@ --- -title: "MultiToken Pallet" +title: "MultiTokens Pallet" slug: "multitoken-pallet" description: "The utility pallets of the Enjin Blockchain." --- @@ -22,22 +22,22 @@ The Enjin Blockchain has a token standard called MultiTokens. The standard is co ![](/img/components/enjin-matrixchain/2.png) -**Grouped NFTs** are Multi-unit tokens/NFTs that are a part of a family, and share the same Base ID. - -:::warning Groups are being implemented. -Please note that Grouped tokens functionality is being implemented. -This page will be updated once it is. -::: +**Grouped Tokens** are Multi-unit tokens or NFTs organized into logical sub-categories within a collection. This adds a structural layer between the collection and individual tokens, allowing for organized "folders" in apps like the Enjin Wallet and NFT.io. ![](/img/components/enjin-matrixchain/3.png) +:::info Partial Implementation +Token grouping is currently implemented at the blockchain level. While users can view and manage groups on NFT.io and view them in the Enjin Wallet, full Enjin Platform (API/UI) support is currently in development. +::: + ## Terminology - **Collection -** A group of tokens. Also holds data for those tokens and the policies that govern their behavior. +- ** -** An organizational layer within a collection used to categorize tokens. - **Token -** A unique asset with a balance - **Token Account -** A token account is stored in user account. It holds the account's states like its balance, freeze state, etc. - **Policy -** Governs behavior for tokens in a collection -- **Attribute -** Metadata for a collection or a token +- **Attribute -** Metadata (strings/data) attached to a collection, group, or token. - **Operator -** An account that operates on behalf of another account (transferFrom) - **Approval -** Required for an operator to use an account - **Freeze/Thaw -** If a collection, token, or account is frozen, it cannot transfer tokens @@ -57,6 +57,23 @@ A of 6.25 ENJ is required to create a coll ![](/img/components/enjin-matrixchain/6.png) +## Token Grouping + +Token Grouping adds an organizational layer between a **Collection** and its **Tokens**. It allows creators to categorize assets into logical "folders," significantly improving navigation and user experience. + +For example, a "Fantasy RPG" collection can group its tokens into "Weapons," "Armor," and "Potions." Within "Weapons," tokens could be further organized into "Swords" or "Axes." Without grouping, all tokens appear in a single, flat list, making specific items difficult to locate. + +### Functional Overview +* **Blockchain Level:** Groups are implemented directly on the MultiTokens pallet. +* **Attributes:** Like collections, groups can have their own attributes (metadata). +* **Organization:** In the Enjin Wallet and NFT.io, grouped tokens are displayed in folders rather than a random sorted list. + +### Implementation Status +Token grouping is currently in a **partial release** phase: +* **Enjin Wallet:** Users can view and navigate tokens organized into group folders. +* **NFT.io:** Users can view groups and manage them (manual or auto-grouping). +* **Enjin Platform:** UI and API support for managing groups via the Platform is currently in development. + ## Tokens Each token must belong to a Collection, and is created using the mint extrinsic. diff --git a/src/glossary.js b/src/glossary.js index 19be878..8ee862d 100644 --- a/src/glossary.js +++ b/src/glossary.js @@ -49,7 +49,8 @@ const glossary = { sudo: { name: "sudo", definition: "'sudo' stands for \"super user do.\" It is a command-line utility in Unix-like operating systems that allows a permitted user to execute a command as the superuser (root) or another user, as specified by the security policy configured in the sudoers file." }, enjin_beam: { name: "Enjin Beam", definition: "Enjin Beam is a feature that uses blockchain and QR code scanning to enable users to quickly and securely receive virtual assets within the Enjin ecosystem via their mobile devices. It facilitates the distribution of assets, including NFTs (Non-Fungible Tokens), with ease." }, wallet_daemon: { name: "Wallet Daemon", definition: "The Wallet Daemon is a utility that automates the approval of transaction requests between the Enjin Platform and your wallet. Without the Wallet Daemon, every in-game blockchain transaction (such as sending a sword to a player) would need to be authorized manually through the Enjin Wallet. The Wallet Daemon manages an Enjin address linked to your Enjin account. When a transaction is initiated on the Enjin Platform, the Wallet Daemon receives the transaction, approves it by signing it, and then returns it to the Enjin Platform." }, - non_fungible_tokens: { name: "Non-Fungible Tokens", definition: "In contrast, Non-Fungible Tokens (NFTs) are distinct and cannot be substituted with other tokens as each NFT has its own unique identity. Examples of NFTs include original artwork, gaming characters, pets, and numbered collectibles. \n\nNFTs can be categorized into families, referred to as Grouped NFTs. These NFTs have a shared Base ID but still retain their uniqueness. An illustration of this concept would be an Iron Sword armory consisting of swords of different quality levels, brands, and individual histories, but all identifiable as Iron Swords. The significance of a particular sword to one individual may be based on its past ownership by a great warrior, while another person may consider the token's type to be more important depending on its usefulness." }, + non_fungible_tokens: { name: "Non-Fungible Tokens", definition: "Non-Fungible Tokens (NFTs) are distinct digital assets that cannot be substituted for one another, as each NFT possesses a unique identity. Examples include original artwork, specific gaming characters, or numbered collectibles. \n\nNFTs can be organized into 'Token Groups' within a collection. This grouping allows assets to be categorized into logical folders (e.g., an 'Iron Swords' group containing various unique sword NFTs) and enables the application of group-wide attributes. This structure provides a streamlined way to navigate large collections in the Enjin Wallet and NFT.io without sacrificing the individual uniqueness of each token." }, + token_group: { name: "Token Group", definition: "An organizational layer within a collection on the Enjin Blockchain that categorizes multiple tokens into logical sub-divisions. Token Groups allow creators to apply group-level attributes (metadata) and facilitate 'folder-style' navigation in the Enjin Wallet and NFT.io. For example, a collection of 'RPG Items' might use Token Groups to separate assets into 'Weapons', 'Armor', and 'Consumables', ensuring a cleaner user experience and more efficient asset management." }, enjin_coin: { name: "Enjin Coin", definition: "Enjin Coin (ENJ) is the native token of the Enjin Blockchain and plays a vital role in facilitating transactions on the network. It serves as the primary transaction fee and gas token, as well as the voting mechanism for network governance, consensus, and block nomination facilitated through ENJ staking. In addition to its utility functions, ENJ also serves as a medium of exchange within the ecosystem and rewards active community participation. The Enjin Blockchain is fully integrated with popular Enjin products, such as the Enjin Wallet, NFT Marketplace, Platform SDKs, and more, to provide a seamless end-to-end user experience." }, backing_value: { name: "Backing Value", definition: "The backing value refers to Enjin Coin (ENJ) that is locked as a reserve for tokens on the Enjin Blockchain, ensuring that the blockchain isn't burdened with unnecessary data. When tokens are minted, a set amount of ENJ is allocated as a storage deposit. This mechanism optimizes the blockchain's efficiency by preventing the creation of low-value tokens and accounts that could cause network bloat." }, transaction_fees: { name: "Transaction Fees", definition: "A transaction fee on the Enjin Blockchain is a charge applied to users when they execute transactions such as transferring tokens on the network. This fee is necessary to compensate the network validators for processing and securing the transactions on the blockchain. The amount of the fee can vary based on the type of transaction and the network's current demand and congestion. The fee ensures that transactions are processed efficiently and helps to prevent spam transactions on the network, maintaining the blockchain's integrity and performance." },