ergoplatform / eips

Ergo Improvement Proposals
65 stars 36 forks source link

Media NFT Metadata standards #83

Open Awashbu12 opened 1 year ago

Awashbu12 commented 1 year ago

Hello, I am working on moving an NFT project from Cardano to Ergo. And in doing so I have noticed a few problems with thE EIP-004 metadata standard.

These severely limit innovation and new NFT use cases, and should be rectified as soon as possible.

Specifically, the limit to one type of token in each NFT severely limits the ability to create dynamic and interactive NFTS. Also, limiting the tokens to only the 4 types listed in EIP-004 Makes it impossible to do a lot of things on Ergo.

As an example, I want to my NFT link to a HTML or JavaScript file on IPFS or ARweave which then gets rendered by the marketplace or NFT viewer in an iFrame right on the NFT, allowing the viewer to interact with the NFT right there. This works well on Cardano, as you can see in this link, which is an actual NFT rendered in a native Cardano NFT viewer. https://pool.pm/a3b37823ac5843e62c8f97d4b01e3cd600cda24215f9367f8147d38a.MagicApesTEST1

This is a very small, tip of the iceberg example of an NFT that currently can't be done on Ergo. Another example is the CardanoTrees or Aw0k3n Algorithms projects, which actually create the NFT directly on the blockchain using base64 with no external references whatsoever.

The other thing that needs to be corrected is that Ergo currently limits NFTs to only one media file reference. This creates a problem because a lot of NFTs use one item as the main media (for instance a song or onchain code) then need to also have an image linked in the NFT to show as a thumbnail. If you look at my above example, you will see in its metadata there contains both a "text/html" reference and an "image" reference. Limiting NFTs to one reference severely hinders the ability to think outside of the box and move the NFT space beyond the PFP only art that it currently is.

I want to propose adopting a NFT metadata standard that mirrors both Cardano and Ethereum. Cardano took the Ethereum EIP-721 standard and made minor adjustments to it then adopted it as CIP-25. This CIP even references OpenSeas standards. I believe Ergo should take the same approach and use the CIP-25 and EIP-721 standards as a base then adapt them to fit Ergo's requirements.

The specific things I would like to see added to Ergo from CIP 25 are as follows:

-Unique policy ID's -multiple reference allowance -various reference type support -Standard IPFS and ARweave reference structure (IPFS:// and AR://) -policy lock times

Here is the full CIP-25 (Media NFT Metadata standard) as implemented: https://cips.cardano.org/cips/cip25/

I don't know how to create a pull request to propose an EIP myself, so I am putting this here hoping someone can help me move this idea forward.

MrStahlfelge commented 1 year ago

Probably sovled by #72?

Awashbu12 commented 1 year ago

Probably sovled by #72?

I don't think so. I mean attaching a file is definitely a move forward, but still doesn't solve problems limiting innovation. For example, creating a fully on chain JavaScript NFT.

More importantly, the metadata standards are not on par with major platforms such as Ethereum Cardano and solana. I still think looking into adopting a Ergo version of the 721 standards used by Ethereum and Cardano should be looked into

Awashbu12 commented 1 year ago

Probably sovled by #72?

How does attaching files work? It sounds like this just allows someone to attach a link to a file for download. I am suggesting allowing multiple types of media to be placed in the metadata and natively shown by the NFT viewer.

Right now, I believe the best I can do for my NFT is to only have a picture able to be seen by the viewer then the user would have to click the link and navigate to an external page to view and interact with the magic 8 ball NFT in my example.

MrStahlfelge commented 1 year ago

Attaching works like described in the EIP. A box can only contain up to 4kb data, so links to files are needed - or is your data small enough to fit? If you think other features should be added, please open an EIP describing your changes needed.

Awashbu12 commented 1 year ago

If you think other features should be added, please open an EIP describing your changes needed.

Please read the final paragraph of my issue.