MNS Standard v1

For blockchain integration into name system we created the MNS Standard.

Domain Registration

To register domain you need to send a transaction with data field in format:

R:domain

domain - your domain in format domain.zone.

Domain Record Update

To update domain record you need to send a transaction with data field in format:

U:domain:host:type:arg1:arg2[:nonce_to_remove]
domain - your domain in format domain.zone.
host - your host (@ or subdomain) for the record.
type - record type (A, TXT, MX, etc).
arg1 - first argument of the record.
arg2 - second argument of the record.
nonce_to_remove - optional, nonce of transaction with records update which need to be removed. See example below.

NB. Now acceptable only A, AAAA and TXT types.

Domain Record Delete

To delete domain record you need to send a transaction with data field in format:

D:domain:nonce_to_remove
domain - your domain in format domain.zone.
nonce_to_remove - nonce of transaction with records update which need to be removed. See example below.

Pretty Address Resolve

Our standard for addresses resolving is a DNS record:

TXT v=mns1 A=Mx000 P=Mp000 C=COIN
mns1 - standard name and version.
A - your address.
P - your node’s public key for delegation.
C - your coin’s ticker.

Pretty Address Verification

To verify your domain pretty address you need to send a transaction with data field in format:

V:domain
domain - your domain in format domain.zone.

Example

1. Domain testdomain.mnt registration. Data field is

R:testdomain.mnt

Transaction.

2. Adding A record on testdomain.mnt to 127.0.0.1. Data field is

U:testdomain.mnt:@:A:IP::

Transaction.

3. Adding A record on subdomain sd.testdomain.mnt to 172.0.0.1. Data field is

U:testdomain.mnt:sd:A:IP::

Transaction or the same

U:testdomain.mnt:sd.testdomain.mnt.:A:IP::

4. Changing A record on subdomain sd.testdomain.mnt from 172.0.0.1 to 162.0.0.1. Data field is

U:testdomain.mnt:sd:A:IP::
D:testdomain.mnt:NONCE

Transaction and transaction or the same, but shorter with nonce_to_remove option

U:testdomain.mnt:sd:A:IP::NONCE_TO_REMOVE

Transaction.

5. Add cryptoaddress, delegation public key and coin ticker record on testdomain.mnt. Data filed is

U:testdomain.mnt:@:TXT:v=mns1 A=Mx P=Mp C=COIN::

Transaction.