oceanprotocol / pm

Zenhub needs each issue associated with one repo. This repo is a workaround, to mark issues that span >1 repos.
4 stars 0 forks source link

[EPIC] Metadata in DDO.sol adds complexity #68

Closed trentmc closed 3 years ago

trentmc commented 3 years ago

Motivation: having a separate contract for metadata adds extra complexity, both in code and in peoples' mental models. The metadata could easily be with the ERC20 datatoken smart contract itself. By doing so it would be simpler, more maintainable, easier to understand.

How: Options:

  1. EIP1046 is a standard to extend ERC20 with metadata. https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1046.md
  2. EIP1155 is a standard where a single smart contract holds >1 different ERC20 (and ERC721) tokens. It also has metadata support (given that ERC721 needs it). 1155 is being widely adopted.
  3. Leverage blob. Datatoken contract already has a blob field. Store metadata in there. Need a new function to update the blob
  4. Use NFT-ized base copyright. See multi-repo-issue#22

Analysis (by Trent):

TODOs:

Notes:

kremalicious commented 3 years ago

To me the ideal solution would be to kill the metadata contract and store json files in IPFS/Arweave/whatever, and then reference their hashes in the ERC721 metadata. What's the reason for not doing that?

As this issue is labeled as v4 not sure what's supposed to happen here

kaimeinke commented 3 years ago

This has been exactly the solution Pierre Gronlier, CTO of Gaia-X, has proposed during previous talks. @trentmc has voiced an opinion on that.

trentmc commented 3 years ago

We can close this, now that we are using "V4 Planning" section in GSlides to track everything.

There are other issues that cover this.