区块链技术资源分享
追寻中本聪先生的脚步

合约注册ens域名 特殊字符@tokengarden.eth

通常ens注册要用过app.ens.domains,但此种方式有诸多限制,有些特殊字符无法注册,无法自定义注册时间。通过合约注册这些问题迎刃而解!但是,如果存在恶意使用的ZWJ或者其他限制的UNICODE字符,那在opensea或者looksrare会显示为非法域名,更加中心化的opensea会直接隐藏掉你的ens!所以三思而行。下面说下流程:

etherscan.io

1、执行 available 确保要注册的ens还未被注册。

image-1

2、如果上述返回值为true,执行 makeCommitmentWithConfig

image-2

解读下参数的含义:

1:要注册ens

2:当前操作的钱包地址

3:随机64位hash,保证合法64位hash即可,一定要记住这个参数,因为后面还会用到!可以直接用0x40c8ecb31084c4e7b269810997c5772b5f5997260beab1fe0d9e81f5fc450cca

4:ens解析器地址,目前固定为 0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41

5:同2

6:执行**Query ,**记住此处返回结果,下一步要用

3、切换到Write Contract 标签,1.commit 填入上一步结果 点Write,等待结果

此步就是app.ens.domains中的第一步,预注册占坑位

image-3

4、上一步成功后,等待1分钟(app.ens.domains中的等待部分),执行下一步

5、执行 registerWithConfig注册

这也是app.ens.domains 中的最后一步

image-4

1:注册费用,ens 费用是根据字符长度来的,三位、四位、五位字符费用依次递减,可以先去app.ens.domains了解下。这里可以多填一些费用,因为用不到会退回来的。

2:要注册的名字

3:与第一步中参数2相同

4:注册时长,这里格式为 unixtime,比如 2629743 = 1 month、31556926=1 year。

这里要注意,合约限制最低注册时长为28天

uint constant public MIN_REGISTRATION_DURATION = 28 days;

也就是此值最小为 2419200。其他时长换算可以通过下面链接

Epoch Converter
Convert Unix Timestamps (and many other date formats) to regular dates.
www.epochconverter.com

5:与第一步中的secret 相同

6:与第一步中的resolver相同

7:同3

执行Write,如果此时metamask有红色错误提示,说明等待还未超过1分钟。

执行Write成功后,域名就注册完了!!

特别说明:

虽然一些非法字符可以通过合约注册,但目前ens.domains 前端未支持,所以一旦有非法字符在钱包,那ens.domains 也用不了了,显示如下状态

image-5

唯一的解决办法是 把这个ens转移到其他地址。

https://mirror.xyz/tokengarden.eth/FadaIonXCIIAlIqBvtIHx_TAzd9sjMJnxtQ0fn3gJpo

分享到:更多 ()

来评论吐槽 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

快手号:神吐槽shentucao

交易所地址更多手机免费挖矿APP