Skip to content
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

Neo Address Resolution #133

Merged
merged 3 commits into from
May 26, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions nep-18.mediawiki
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<pre>
NEP: 18
Title: Neo Address Resolution
Author: Erik Zhang <[email protected]>
Type: Standard
Status: Accepted
Created: 2021-02-13
</pre>

==Abstract==

This NEP describes a standard for storing Neo addresses in TXT records.
The wallet and client should use the method described in this NEP to store and resolve the TXT record of the domain name, so that users can use the NNS domain name to transfer assets or use dapps.

==Motivation==

NNS currently provides regular DNS service to allow users to add A, CNAME, TXT and AAAA records for domain names.
However, we do not provide direct support for Neo addresses in NNS.
We need a way to map domain names in NNS to Neo addresses to support complex application scenarios.

==Specification==

[https://tools.ietf.org/html/rfc1464 RFC 1464] describes the general syntax of a TXT attribute:

<pre>
"<attribute name>=<attribute value>"
</pre>

We use <code>address</code> as the attribute name of the Neo address:

<pre>
"address=<Neo address>"
</pre>

The following TXT record map the domain name to the Neo address <code>NUVPACMnKFhpuHjsRjhUvXz1XhqfGZYVtY</code>:

<pre>
"address=NUVPACMnKFhpuHjsRjhUvXz1XhqfGZYVtY"
Jim8y marked this conversation as resolved.
Show resolved Hide resolved
</pre>

==Rationale==

A dapp can add a Neo address to its domain name to allow users to send assets, or allow the front end to use the domain name to call the contract.

The user can set a domain name for his address, so that his transaction party is difficult to be deceived by a fake address, and it can also reduce the chance of wrong transfer.

==Implementation==