rmrk-team/rmrk-spec

RMRK: standard re-check

Opened this issue · 1 comments

The recent flame was a motivational point for me to re-check standard.

Collection:

  • name: According to standard this should match [A-Za-z0-9_] (\w in JS) however, 99% of users want also space.
  • max: 0 is for max, but we need to distinguish between 0 and null.
  • symbol: Says nothing about format. Urban legend says that it should be slugify(symbol, '_').toUpperCase()

NFT:

  • instance: fair description however, it's confusing for users (I would derive it from the name)

name: According to standard this should match [A-Za-z0-9_] (\w in JS) however, 99% of users want also space.

Agreed, this is a bit of a bother for me too. Luckily, making it more relaxed is a backwards-compatible change, so we can allow spaces as long as we disallow dashes (-) and don't use the spaced name/word anywhere in the ID (which we do not, so that's fine). This can be PRed in without changes to the version in my opinion.

max: 0 is for max, but we need to distinguish between 0 and null

Why? null should be invalid since the spec explicitly asks for this field as an int value. Therefore, 0 is infinite.

symbol: Says nothing about format. Urban legend says that it should be slugify(symbol, '_').toUpperCase()

This is true and should be clarified 👍

instance: fair description however, it's confusing for users (I would derive it from the name)

Agreed, it's a terrible name. Not sure how to fix without serious BC breaks. Default should be derive from name, but for the sake of uniqueness in markets the user should be able to change this (i.e. there already is a PUNKZOMBIE token on the market, you might want to make it a MYZOMBIE_PUNK) or whatever.