FA2 (referred as TZIP-12 from now on) specifies that we SHOULD provide token and contract metadata. These can be either stored off-chain (eg. within an off-chain view, http, ipfs eg.), or embedded into a big_map inside the contract. I think since we already have some mechanism for deploying to a big_map after originating the contract, that would be the simpler option.
TZIP-12 specifies the token_metadata as some predefined key/value pairs defined here per token. However, there also is an extension called TZIP-21 which specifies some more information that can be specified. I think some of those information is only known at deployment time, since they are about a specific instance of checker (eg, name, description and the symbol of the "kit", which probably should contain some information about the kind of oracle it's looking at).
TZIP-16 specifies the contract metadata. These metadata includes a lot of fields that (as for as I know) not yet decided, for instance license or homepage. However they are all optional.
One useful looking section of TZIP-16 is the support for off-chain views, which are embedded michelson code that can run against the storage to extract some information. TZIP-12 also specifies a bunch of off chain views that again SHOULD be implemented.
I think we implemented both the token metadata and contract metadata functionality with #140. There are still a few optional fields we can specify, but I will create smaller issues for those.
Related: #84
FA2 (referred as TZIP-12 from now on) specifies that we SHOULD provide token and contract metadata. These can be either stored off-chain (eg. within an off-chain view, http, ipfs eg.), or embedded into a
big_map
inside the contract. I think since we already have some mechanism for deploying to abig_map
after originating the contract, that would be the simpler option.TZIP-12 specifies the
token_metadata
as some predefined key/value pairs defined here per token. However, there also is an extension called TZIP-21 which specifies some more information that can be specified. I think some of those information is only known at deployment time, since they are about a specific instance ofchecker
(eg, name, description and the symbol of the "kit", which probably should contain some information about the kind of oracle it's looking at).TZIP-16 specifies the contract metadata. These metadata includes a lot of fields that (as for as I know) not yet decided, for instance
license
orhomepage
. However they are all optional.One useful looking section of TZIP-16 is the support for off-chain views, which are embedded michelson code that can run against the storage to extract some information. TZIP-12 also specifies a bunch of off chain views that again SHOULD be implemented.
Related specs: