转至元数据结尾
转至元数据起始

You are viewing an old version of this content. View the current version.

与当前比较 恢复该版本 View Version History

« 上一页 版本 3 当前的 »

NameService 采用 Move 合约语言分模块开发,支持灵活的扩展功能

  • v0.1 版本将提供 NameService 无限制的域名注册、 STC 地址解析、灵魂绑定NFT、反向解析功能

  • v0.1 版本将在Starcoin Proxima Test Net 上线测试,测试过程中接口及合约地址可能有变化,因为 Proxima Test Net 特性,可能会有 Proxima 网络重置情况发生,您的 Proxima Test Net NameService 可能会丢

合约提供的接口

1 - 注册域名(write):

0xda459d2aa5d58b262038c715a64f6ea5::StarcoinNameServiceScript::register

public (script) fun register(sender:signer, name: vector<u8>,registration_duration: u64)

参数说明:
  • name: vector<u8>

域名:采用 UTF-8 编码的字符串,域名以 “.stc” 结尾,仅支持一级域名,UTF-8 字符长度应该在 4~19 位,域名在编码前需经过idna-uts46-hx 处理

示例"starcoin.stc" "test.stc"

错误示例"中文域名.stc"

  • registration_duration: u64

注册时长:以秒为单位,最小注册时长需要大于 180 天 (60 * 60 * 24 * 180 = 15,552,000 sec

2 - 设置反向解析(灵魂绑定模式 NFT)(write)

0xda459d2aa5d58b262038c715a64f6ea5::StarcoinNameServiceScript::use_domain

public (script) fun use_domain<ROOT: store>(sender:signer, id: u64)

泛型说明:
  • ROOT: store

确定顶级域名:根据需要绑定的 NameSerivce NFT 确定顶级域名,并传入 0xda459d2aa5d58b262038c715a64f6ea5::Root 模块下的 Struct

示例:需要绑定 NFT 顶级域名为 “stc“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

错误示例:需要绑定 NFT 顶级域名为 “move“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

参数说明:
  • id: u64

NFT id : 需要绑定的 NameService NFT 的 id

示例:需要绑定的 NameService NFT 的 id 为 1,参数传入 1

3 - 取消反向解析(取消灵魂绑定模式 NFT)(write)

0xda459d2aa5d58b262038c715a64f6ea5::StarcoinNameServiceScript::unuse_domain

public (script) fun unuse_domain<ROOT: store>(sender:signer)

泛型说明:
  • ROOT: store

确定顶级域名:根据需要取消的 NameSerivce NFT 确定顶级域名,并传入 0xda459d2aa5d58b262038c715a64f6ea5::Root 模块下的 Struct

示例:需要取消 NFT 顶级域名为 “stc“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

错误示例:需要取消 NFT 顶级域名为 “move“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

4 - 修改解析地址(write)

0xda459d2aa5d58b262038c715a64f6ea5::StarcoinNameServiceScript::change_NFTGallery_stc_address

public (script)fun change_NFTGallery_stc_address<ROOT: store>(sender:signer,id:u64,addr:address)

泛型说明:
  • ROOT: store

确定顶级域名:根据需要操作的 NameSerivce NFT 确定顶级域名,并传入 0xda459d2aa5d58b262038c715a64f6ea5::Root 模块下的 Struct

示例:需要操作 NFT 顶级域名为 “stc“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

错误示例:需要操作 NFT 顶级域名为 “move“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

参数说明:
  • id: u64

NFT id : 需要操作的 NameService NFT 的 id

示例:需要操作的 NameService NFT 的 id 为 1,参数传入 1

  • addr:address

STC 地址:需要解析到的地址

示例:希望解析到 0xda459d2aa5d58b262038c715a64f6ea5,填写 0xda459d2aa5d58b262038c715a64f6ea5

5 - 获取反向解析域名(read)

0xda459d2aa5d58b262038c715a64f6ea5::StarcoinNameServiceScript::change_NFTGallery_stc_address

public fun resolve_domain_name<ROOT: store>(addr:address):vector<u8>

泛型说明:
  • ROOT: store

确定顶级域名:根据需要解析的 NameSerivce NFT 确定顶级域名,并传入 0xda459d2aa5d58b262038c715a64f6ea5::Root 模块下的 Struct

示例:需要解析 NFT 顶级域名为 “stc“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

错误示例:需要解析 NFT 顶级域名为 “move“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

参数说明:
  • addr:address

STC 地址:需要解析的地址

示例:希望解析 0xda459d2aa5d58b262038c715a64f6ea5 的主域名,填写 0xda459d2aa5d58b262038c715a64f6ea5

返回值:
  • vector<u8>

反向解析的域名:返回该 地址解析到的域名

6 - 域名解析地址(read)

0xda459d2aa5d58b262038c715a64f6ea5::StarcoinNameServiceScript::resolve_4_name

public fun resolve_4_name<ROOT: store>(name:vector<u8>):address

泛型说明:
  • ROOT: store

确定顶级域名:根据需要解析的 NameSerivce NFT 确定顶级域名,并传入 0xda459d2aa5d58b262038c715a64f6ea5::Root 模块下的 Struct

示例:需要解析 NFT 顶级域名为 “stc“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

错误示例:需要解析 NFT 顶级域名为 “move“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

参数说明:
  • name: vector<u8>

域名:采用 UTF-8 编码的字符串,域名以 “.stc” 结尾,仅支持一级域名,UTF-8 字符长度应该在 4~19 位,域名在编码前需经过idna-uts46-hx 处理

示例"starcoin.stc" "test.stc"

错误示例"中文域名.stc"

返回值:
  • address

解析地址:返回该 域名解析的 STC 地址

7 - 获得域名的过期时间(read)

0xda459d2aa5d58b262038c715a64f6ea5::StarcoinNameServiceScript::get_domain_expiration_time

public fun get_domain_expiration_time<ROOT: store>(name:vector<u8>):u64

泛型说明:
  • ROOT: store

确定顶级域名:根据需要解析的 NameSerivce NFT 确定顶级域名,并传入 0xda459d2aa5d58b262038c715a64f6ea5::Root 模块下的 Struct

示例:需要解析 NFT 顶级域名为 “stc“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

错误示例:需要解析 NFT 顶级域名为 “move“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

参数说明:
  • name: vector<u8>

域名:采用 UTF-8 编码的字符串,域名以 “.stc” 结尾,仅支持一级域名,UTF-8 字符长度应该在 4~19 位,域名在编码前需经过idna-uts46-hx 处理

示例"starcoin.stc" "test.stc"

错误示例"中文域名.stc"

返回值:
  • u64

过期时间:返回该 域名过期时间

8 - 获得全部的 NameService NFT info(read)!暂无

0xda459d2aa5d58b262038c715a64f6ea5::StarcoinNameServiceScript::get_all_domain_info

public fun get_all_domain_info<ROOT: store>(addr: address):vector<NFT::NFTInfo<SNSMetaData<ROOT>>>

泛型说明:
  • ROOT: store

确定顶级域名:根据需要获得的 NameSerivce NFT 确定顶级域名,并传入 0xda459d2aa5d58b262038c715a64f6ea5::Root 模块下的 Struct

示例:需要获得 NFT 顶级域名为 “stc“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

错误示例:需要获得 NFT 顶级域名为 “move“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

参数说明:
  • addr:address

STC 地址:需要获得的地址

示例:希望获得 0xda459d2aa5d58b262038c715a64f6ea5 的全部 域名信息,填写 0xda459d2aa5d58b262038c715a64f6ea5

返回值:
  • vector<NFT::NFTInfo<SNSMetaData<ROOT>>>

Info 数组:返回该地址全部的 NameSerivce NFT Info

9 - 获得域名注册信息以及解析地址(read)(之后可能持续会增加内部结构)

0xda459d2aa5d58b262038c715a64f6ea5::StarcoinNameServiceScript::get_domain_info

public fun get_domain_info<ROOT: store>(name:vector<u8>):Option::Option<DomainInfo>

泛型说明:
  • ROOT: store

确定顶级域名:根据需要获得的 NameSerivce NFT 确定顶级域名,并传入 0xda459d2aa5d58b262038c715a64f6ea5::Root 模块下的 Struct

示例:需要获得 NFT 顶级域名为 “stc“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

错误示例:需要获得 NFT 顶级域名为 “move“,泛型传入

0xda459d2aa5d58b262038c715a64f6ea5::Root::STC

参数说明:
  • name: vector<u8>

域名:采用 UTF-8 编码的字符串,域名以 “.stc” 结尾,仅支持一级域名,UTF-8 字符长度应该在 4~19 位,域名在编码前需经过idna-uts46-hx 处理

示例"starcoin.stc" "test.stc"

错误示例"中文域名.stc"

返回值:
  • Option::Option<DomainInfo>

struct DomainInfo has copy,drop{
    registryDetails : Registrar::RegistryDetails,
    stc_address   : address 
}

具体信息:返回该 域名注册信息