Should we create icrcXX_metadata?

since we have icrc10_supported_standards, should we also create a standard for icrcXX_metadata for any canisters that will return metadata (array of ICRC.Value)?

  • XX = digits

tbh i was thinking about having a standard for basic canister interfaces such as metadata, metrics (perhaps returns array of ICRC.Value) (for monitoring purposes) or even logs (perhaps returns array of Text).


It seems all metadata implemented in this lib

icrc1_metadata is a good way to go :smiley:

no, icrc1 is a token standard. u cannot implement only one method of a standard, and leave the rest.

Right now we have a metadata method defined in each token standard just like we used to have a supported standards method defined in each token standard untill icrc-10 was defined to create a single method used across standards.

But supported standards is like an access point when interacting with a canister, to know which methods to call. On the other hand, metadata isn’t like that since you know which method to call after icrc-10 supported standards.

So only useful use case I can think of having a standardized metadata method across standards would be for some tooling to show canister metadata independent of which token/other standard is implemented.

Having it standardized would not just guarantee the method name being the same but also the signature, the metadata response types, which obviously makes a big difference for this sort of tooling.

As for other things like metrics and logs, these things are very different so I wouldn’t suggest putting all these together in a single ICRC.