In the previous article, we introduced the need for user friendly account names in blockchain. Further, we covered the first proposed approach, an alias service. This service would have allowed alias to address mapping and in-contract conversion.
The main drawback was the lack of independent control over aliases. Allowing users to own and trade aliases requires a more complex solution.
Today’s article will introduce this alternate approach, a native name service. Building on the previous design, it introduces domain names as non-fungible tokens. These NFTs are unique, under the control of the lease holder, and tradable by users.Non-fungible tokens
Before work began on the name service, non-fungible tokens had yet to be introduced on Neo3. This meant a native NFT template needed to be created first. Currently under development, this native NFT implementation acts as the basis for all domain name assets.
Non-fungible tokens are a natural match for domain names. Rather than each being identical copies, they are distinct from each other. Like a typical web domain, two people cannot register the same domain. For example, there is only one Google.com. Additionally, they can be bought and sold like any other commodity.
Neo3’s native NFT contract follows the existing NEP-11 token standard. Alongside some variations, it is currently in use by several contracts on Neo2. NEP-11 defines the basic logic needed to create and manage unique tokens and their various properties.
Once deployed on Neo3, the NEP-11 native contract could also be inherited in other contracts. This could greatly simplify the implementation of other NFT use cases for developers.Name Service Overview
The proposed name service will allow representation of contract addresses, wallet addresses, and other complex strings in a traditional DNS format. The lowest level is known as the root domain. It can be consider...