以太坊名称服务
背景
当网络最初开始时,你可以在网络上探索信息的唯一方法是输入 IP 地址。此后,DNS 的概念被引入,帮助我们将域名与 IP 地址联系起来。
因此,当你输入 learnweb3.io 时,DNS 负责将其翻译成相应的 IP,这就是计算机最终理解的内容。
什么是 ENS?
ENS 是以太坊名称服务的缩写,它的行为与 DNS 在 web2 空间的行为非常相似。我们都知道,以太坊的地址很长,很难记住或输入。ENS 通过将这些钱包地址、哈希值等翻译成可读的域名,然后保存在以太坊区块链上,解决了这个问题。
ENS 最好的部分是不像 DNS 服务器是集中式的,ENS 在智能合约的帮助下工作,是抗审查的。因此,现在当你向某人发送你的钱包地址,看起来像 0x1234huiahi....,你实际上可以向他们发送 tom.eth,ENS 会发现 tom.eth 实际上等于你的钱包地址(0x1234huiahi....)。
此外,ENS 不仅仅是将钱包地址映射为人类可读的名字。你实际上可以附加一个个人资料图片、描述、社交媒体链接,以及任何你想附加的自定义类型的数据。
要求
是时候建立一些我们可以使用 ENS 的地方了。我们将开发一个网站,如果它有一个地址,就可以显示 ENS。
让我们开始吧 🚀
设置
首先,让我们为你的地址取得一个 ENS 名称,首先打开 https://app.ens.domains/。
确保当你打开网站时,你的 MetaMask 已经连接到 Goerli Testnet,并且它有一些 Goerli Ether。
搜索一个 ENS 域名,任何你喜欢的名字,只要它是可用的!。点击 "可用
然后点击请求 注册
当进度条进入第三步时,点击 RegisterImage。
然后在进度条结束后,点击设置为主要的 ENS 域名
从下拉菜单中选择你刚刚创建的 ENS 名称。
点击保存
现在你在 Goerli 上有一个注册到你地址的 ENS。太棒了,你做到了 ❤️
网站
为了开发这个网站,我们将使用 React 和 Next Js。React 是一个用于制作网站的 javascript 框架,Next.js 是一个 React 框架,它也允许与前端一起编写后端 API 代码,所以你不需要两个独立的前端和后端服务。首先,你将需要创建一个新的 Next 应用程序。你的文件夹结构应该是这样的
- ENS
- 我的应用程序
创建项目
npx create-next-app@latest
cd my-app
npm run dev
现在去 http://localhost:3000
,你的应用程序应该正在运行 🤘。