Skip to content
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

RFC: skip grc721 and go directly with grc1155 (NFT) #3510

Open
moul opened this issue Jan 14, 2025 · 3 comments
Open

RFC: skip grc721 and go directly with grc1155 (NFT) #3510

moul opened this issue Jan 14, 2025 · 3 comments

Comments

@moul
Copy link
Member

moul commented Jan 14, 2025

I believe we should consider skipping GRC721 entirely and instead document it for those familiar with Solidity who might expect it.

We could focus directly on GRC1155, which offers greater flexibility and addresses most use cases that GRC721 would cover. Additionally, it enables extra functionality, such as batch transfers and multi-token support.

This could also be an opportunity to name the packages token, nft, etc., instead of grc20, grcxxx.

What do you think?

TODO: link with related issues/PRs (NFT or 721)

@matijamarjanovic
Copy link
Contributor

matijamarjanovic commented Jan 14, 2025

Your suggestion makes sense but I don't see how would we be sure that a token made with GRC1155 is an nft other than Minting just 1. I imagine it would be possible to mint another token with the same ID and that would make the token fungible. I might be wrong though.

@DIGIX666
Copy link
Contributor

I think I agree with the idea of focusing on GRC1155, as it allows you to manage several types of token within a single smart contract, unlike GRC20 and GRC721.

However, I agree with @matijamarjanovic : in a multi-token (fungible and non-fungible) context with GRC1155, it's less intuitive to detect that a token is an NFT. I haven't used it myself, so I don't know exactly how it's set up, but I think you can define a token as an NFT by limiting its supply to 1 for a given type (allowing you to say it's a non-fungible token).

I also think it's important to bear in mind that GRC1155's flexibility means extra work to distinguish an NFT from a fungible token, as there's no native distinction in the standard, whereas GRC721 is specifically for NFTs.

@0xtekgrinder
Copy link
Contributor

I believe that the idea of only GRC1155 named token standard is pretty good. In comparison, sui is doing the same and it is working pretty great (The only pain point is having a deprecated version of it).

@DIGIX666 is also right, we can have basically the same functionalities as an GRC721 inside GRC1155 using a limited supply. Although the problem of distinguishing and NFT from a MNFT won't really be one if we for example use an tx-indexer to just track them

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Triage
Development

No branches or pull requests

4 participants