从0开始搭建辅助ENS注册DAPP(1)

在这里插入图片描述

概念以及基本架构

Ethereum Name Service 也就是以太坊命名服务,对标DNS,但和DNS不同架构。就目前,我感觉ENS的存在让我不用保存记录冗长的地址或二维码了,但ENS的作用不止如此。

ens中存在两大架构,注册表和解析器。(应该还有个注册器,负责域名的子域名分配。)
在这里插入图片描述
注册表相当于ENS的户籍系统,记录着所有的域名的{地址、解析器、TTL},解析器帮助解析域名到相应元数据。

除了基本架构外,我在学习过程中还遇到了一些问题,如术语、注册流程、一些函数的工作方式,都将一一做入坑记录。(才疏学浅,也是处涉领域,文章仅做记录,慎重参考!)


开发前的准备

注册人、管理员、所有者
注册人在注册完域名后可以添加管理员,可以设置子域名并将子域名权限转移,也就是增添或者说更换了子域名的所有者。

Namehash
https://eips.ethereum.org/EIPS/eip-137
eip-137中对这种算法进行了描述:
在这里插入图片描述
首先点分域名,总最后往前依次进行hash。
不过话说这不是Python的代码吗,为啥他说是伪代码(pseudocode)。。

Node、Label
经过namehash的域名就是node,
二级域名部分就是label,比如cnmf.com.cn,这里cnmf.com就是label。

控制器合约、注册表合约、解析器合约
这三个合约是我们将要用到的,没有选择使用web3.py中的ens库,而是直接与合约交互。
0x283af0b28c62c092c9727f1ee09c02ca627eb7f5
0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e
0x42d63ae25990889e35f215bc95884039ba354115
需要注意的是这是ropsten下的。

一点点django知识
一点点前端知识


DAPP架构

想了一下,要完成的功能如下:
1.可以自己注册一个.eth的域名。
2.可以自由设置二级域名。
3.可以自由设置二级域名的指向。
4.需要一个页面将二级域名指向页面调用者。
5.需要一个合约用与和页面调用者交互。

总的来说,就是完成了一个页面。
在这个页面用户可以通过给合约0.01eth来获得一个他指定的二级域名。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值