Namespace

Warning

The configuration presented is NOT intended to be used on the public network. These are the parameters used for the Catapult Testnet version (MIJIN_TEST).

A namespace is an on-chain unique domain for your assets.

The easiest way to appreciate it is the domain and file analogy on the internet. Imagine that a domain address has to be unique in a root (lowest level).

If one account creates a namespace, that namespace will appear unique in the NEM ecosystem. For example, if one were to create a namespace called foo, a second person cannot create the same namespace.

Subnamespaces

Just like on the internet, where a domain can have a sub-domain, namespaces can have subnamespaces.

It is possible to create multiple subnamespaces with the same name (example: foo.bar and foo2.bar, bar is the subnamespace/sub-domain).

Namespaces can have up to 3 levels, a namespace and its two levels of subnamespace domains.

Fields

A namespace has the following properties:

Name

A namespace name must be unique and may have a maximum length of 64 characters.

Allowed characters are a, b, c, …, z, 0, 1, 2, …, 9, ‘, _ , -.

Parent namespace

If it is a subdomain, a reference to parent namespace name is required.

Depth

Level of the namespace. Namespace foo level is 0, whereas foo.bar level is 1.

Owner

The public key of the namespace creator.

Renting duration

Renting duration represents the number of confirmed blocks we would like to rent our namespace for.

During the renting period, there is the possibility to extend the rental by sending a register namespace transaction with the extra-confirmed block to rent the namespace.

When a renting period ends, the namespace will become inactive, and you will have N blocks to re-rent it.