-
Notifications
You must be signed in to change notification settings - Fork 152
Feat: NFT documentation revamp #1126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Added some fixes to formatting, wording etc... Feedback provided by @vinibarbosabr Co-Authored-By: Vini Barbosa <83308157+vinibarbosabr@users.noreply.github.com>
Chore: Updating docs to latest version
|
In collaboration with @Lallement-Kevin |
docs/tokens/nft-tokens.mdx
Outdated
| Meta ESDTs are a special case of semi-fungible-tokens. They can be seen as regular ESDT fungible tokens that also have properties. | ||
| In a particular example, LKMEX or XMEX are MetaESDTs and their properties help implement the release schedule. | ||
| Meta ESDTs are similar to SFTs with the main difference that they are fully fungible, meaning that they have decimals which need to be specified when issuing the token. | ||
| It is worth noting that as of writing, Meta ESDTs information displayed by the explorer and returned by the API and the Elastic Search are similar to the one of ESDTs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ExplorerElasticsearch(or the MultiversX Indexer).- "are similar to the one of fungible tokens" (I think).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes made on how Meta ESDT are returned: multiversx/mx-api-service#1520
They now have the same format as SFTs (but with decimals)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes made :)
| - [xSpotlight](https://xspotlight.com/) - Marketplace aggregator and NFT showcaser. | ||
| - [Explorer](https://explorer.multiversx.com/) - Blockchain explorer on MultiversX. | ||
| - [Web Wallet](https://wallet.multiversx.com/) - Official MultiversX Web Wallet. | ||
| - [MultiversX API](https://api.multiversx.com/) - API for MultiversX. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe, additionally:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added
docs/tokens/nft-tokens.mdx
Outdated
|
|
||
| ### Issuing a Non-Fungible Tokens Collection | ||
|
|
||
| One has to perform an issuance transaction—sent to the **System: ESDT Module** account (address below)—in order to register a non-fungible token collection. Non-Fungible Tokens are issued via a request to the Metachain, which is a transaction submitted by the Account which will manage the tokens. When issuing a Collection, one must provide a Collection name, a Collection ticker and optionally additional properties. This transaction has the form: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Exotic hyphen on transaction—sent (just an example, seems to be used more than once).
docs/tokens/nft-tokens.mdx
Outdated
|
|
||
| One has to perform an issuance transaction in order to register a Meta-ESDT token. | ||
| Meta-ESDT Tokens are issued via a request to the Metachain, which is a transaction submitted by the Account which will manage the tokens. When issuing a semi-fungible token, one must provide a token name, a ticker and optionally additional properties. This transaction has the form: | ||
| One has to perform an issuance transaction—sent to the **System: ESDT Module** account (address below)—in order to register a meta ESDT collection. Meta ESDTs are issued via a request to the Metachain, which is a transaction submitted by the Account which will manage the tokens. When issuing a meta ESDT collection, one must provide a Collection name, a Collection ticker, the number of decimals and optionally additional properties. This transaction has the form: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For consistency (with other pages), maybe don't use capitalization of "important" nouns, but use other means to emphasize them?
docs/tokens/nft-tokens.mdx
Outdated
| <...> | ||
| ```json | ||
| { | ||
| "website": "https://www.multiversxtoken.com", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe use example.org (protection against future scam attempts)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR revamps the NFT documentation by restructuring content, clarifying differences between NFT/SFT/Meta ESDT collections, and unifying transaction examples.
- Introduces distinct sections for NFT vs SFT differences and dynamic collections, with expanded guidance on collections and properties.
- Standardizes Rust transaction snippets for issuance, transfers, and management operations.
- Updates intro and system-smart-contracts indexes to include Meta ESDT tokens and adds branding and example JSON templates.
Reviewed Changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/tokens/nft-tokens.mdx | Major reorganization: new headings for differences, issuing flows, dynamic operations, and branding; added JSON examples. |
| docs/tokens/intro.md | Added entry for Meta ESDT tokens in the token overview table. |
| docs/developers/gas-and-fees/system-smart-contracts.md | Updated list of system smart contracts to reference NFT, SFT, and Meta ESDT tokens. |
Comments suppressed due to low confidence (8)
docs/tokens/nft-tokens.mdx:84
- [nitpick] The heading uses plural "Tokens" before "Collection". For clarity and grammatical consistency, change it to singular:
### Issuing a Non-Fungible Token Collection.
### Issuing a Non-Fungible Tokens Collection
docs/tokens/nft-tokens.mdx:128
- [nitpick] Similar to above, this heading should use singular for "Token":
### Issuing a Semi-Fungible Token Collection.
### Issuing a Semi-Fungible Tokens Collection
docs/tokens/nft-tokens.mdx:123
- Use the correct indefinite article before an acronym: change "Once a NFT" to "Once an NFT".
Once a NFT collection is created as non-dynamic, it cannot be converted to a dynamic NFT collection.
docs/tokens/nft-tokens.mdx:252
- Use "an" before an acronym: change to
### Making an SFT Collection dynamic.
### Making a SFT Collection dynamic
docs/tokens/nft-tokens.mdx:320
- The role name is incorrect; it should be
ESDTRoleNFTCreateto match other documentation.
To be able to issue an NFT or SFT, the user needs to have the `ESDTNFTCreate` role.
docs/tokens/nft-tokens.mdx:321
- The role name should be
ESDTRoleNFTAddQuantityto remain consistent.
To be able to issue an SFT with more than 1 quantity, the user needs to have the `ESDTNFTAddQuantity` role.
docs/tokens/intro.md:38
- [nitpick] Consider linking directly to the Meta ESDT section (e.g.,
/tokens/nft-tokens#meta-esdt) for quicker navigation.
| [Meta ESDT tokens](/tokens/nft-tokens) | Meta ESDT tokens |
docs/tokens/nft-tokens.mdx:930
- [nitpick] The heading is bolded inside the markdown syntax. For consistency, remove the extra
**and use## Branding.
## **Branding**
Description of the pull request (what is new / what has changed)
Did you test the changes locally ?
Which category (categories) does this pull request belong to?