-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NFT assets in NNS scenarios #1545
Comments
I think the domain names should not be permanent. You need to renew them. |
I have considered this.In our design, the root domain name is perpetual and is controlled by the committee or administrator. Subdomains are all leased. |
An NNS scheme of NFT asset typeIn NEO, the contract address and account address is a Hex string which is difficult for humans to remember, and it is not very convenient to use. For ease of use, we introduced the domain name system, using easy-to-remember domain names as a replacement for difficult-to-remember strings. Eg. Users can initiate a transaction directly to a certain domain name, the effect is the same as transferring money to a certain address. Design Goal
Scenarios
DefineDomain NameUse an simple string to replace account address / contract address / other complex strings. Use a format similar to traditional DNS as the domain name format. Format: Using "." As a delimiter, the domain name level increases from right to left, the low-level domain name is the parent domain name of the high-level domain name, and the high-level domain name is the sub-domain name of the low-level domain name. The parent domain name initially owns all the subdomains under it. NNS supports up to third-level domain names. Domain lifecycleIn order to avoid long-term occupation of domain name resources by invalid or malicious acts, the root domain name is held by the administrator for a long time. The first-level domain name will adopt the lease model, and the validity period of other domain names is equivalent to the validity period of its first-level domain name. If the domain name holder still wants to continue to hold the domain name, it needs to renew the first-level domain name. System StructureThe overall system is composed of three parts, NNS ContractIt is responsible for managing the registration, renewal, and transfer of domain names. And it complies with NFT standards. It supports the following functions:
Registry TableMaintain a list of domain names and store their ownership, resolver, TTL (validity period) and other information Storage Structure <NameHash,<owner,resolver,admin,TTL>> DomainList <owner,List< NameHash>> OwnershipReverseMapping It mainly supports the following functions:
ResolverIt stores resolver instances for each domain name, and each resolver instance provides a series of methods to resolve the domain name to the corresponding text. Storage Structure
It mainly supports the following functions:
|
@erikzhang Hi,da lao. Whether the proposal meets expectations,?If OK, NGD will begin to implement it. |
|
OK.We will remove trading hall.Can you explain what the |
I have modified the design. @erikzhang |
What is a resolver? |
The Resolver is responsible for completing the process of parsing the domain name to the actual string.Because domain name resolution is not only as simple as obtaining an address, many complex resolution logics should be abstracted into this component, such as domain name redirection, format checking, and fuzzy matching.At the same time, the advantage of this kind of component design is to separate the ownership and management of the domain name.This is a reasonable requirement because the holder of the purchased domain name is not necessarily the actual administrator of the domain name. @erikzhang |
So the resolvers are contract? |
I can write the default resolver in the NNS contract, and the user can also configure a custom one.Of course, I suggest that it is better to split into two contracts, so that the structure is relatively clear. |
I don't think we need custom resolvers. All we need is the default one. |
OK. This modification is very easy, forcing the configuration to use the default resolver.Is there anything else that needs to be modified? |
If you're going to support NFT standard, the |
We will do a method format check |
Are there other deficiencies? |
I have modified the design.
|
Summary or problem description
NGD is designing the NNS system. In NNS, domain names have ownership and independence, which is in line with NFT application scenarios.
Need to discuss :
Neo Version
Where in the software does this update applies to?
The text was updated successfully, but these errors were encountered: