SAFE data types

Looking at the docs it would seem like TagType is what is used for data types. I find it rather confusing though, for built in types it says there’s versioned and unversioned, which I would think is more metadata than data type. It says custom tags can be defined. Are they purely application level, so that it is up to the application to interpret the type that it refers to? For example I might add a type Customer that serializes data about a customer in json format and would deserialize it to a customer object if it saw a TagType with the id refering to the customer type.

What if I want to specify that the customer is versioned or unversioned? If I added a TagType for customer, can I also add one for versioned?

Versioned and unversioned types correspond to Structured Data that will be supersede by Mutable data.

1 Like

Ok, so in MutableData tags are not used for versioned, unversioned etc at all from what it looks like. Are there any built in tags/types?

Are tags used by the core network or are they just meant for applications? So if a piece of MutableData has a tag, then the XorName of another entity could somehow refer to the tag to provide a description of the type’s properties?

1 Like