探索区块链网站部署:去中心化DNS的未来与挑战

robot
摘要生成中

近期发生的一起事件让人重新思考了传统域名访问服务的可靠性。我们一直认为非常稳定的域名解析服务,竟然也会出现问题。这不禁让人思考,去中心化方案是否可能成为一个值得探索的替代选择?

在区块链上部署页面可能具有以下几个优势:

  1. 去中心化:所有修改需要共识才能进行,没有单一机构可以独断专行。

  2. 无需证书:区块链本身采用加密技术,无需额外配置证书。

此前,某区块链平台上的域名方案看似只是一种新奇尝试,实用性似乎不高,毕竟传统访问方式已经相当稳定和普及。但现在看来,这种方案可能确实有其应用场景,值得进一步研究。

在区块链中创建网站

本文将尝试在某区块链平台上部署一个网站,并使其可以通过浏览器访问。整个过程分为三个步骤:1. 购买域名;2. 准备前端页面;3. 绑定页面到域名。

区块链中的域名概念与Web2世界类似,都是复杂地址的别名。在区块链中代表用户地址,在Web2中则对应服务器IP地址。

如何在「链上」访问网站

购买域名

以某区块链平台为例,域名可以通过官方网站购买,以平台代币计价。与Web2类似,字符越短的域名价格越高,范围在1-100个代币不等。

如果域名未被占用,可以低价出价,随后进入倒计时竞拍阶段。拍得域名后,它会以NFT形式存储在用户钱包中。域名NFT可以交易,有效期为1年,到期后收回。

简而言之,获取域名可以通过官网拍卖或从其他用户处交易。

准备前端页面

这一步需要准备一个前端页面用于展示。为简化流程,本文仅准备一个html文件并用nginx将其暴露,当然还需要一台云服务器运行前端页面。这一步骤与传统前端应用部署相同。

绑定页面到区块链域名

获得区块链域名后,可以在官方网站绑定ANDL地址。也可以使用平台提供的绑定工具,按照官方指南进行操作。

绑定完成后,需要在服务器上启动一个监听端口,用于将http请求转发为udp。可以使用官方提供的工具,输入以下命令启动:

rldp-http-proxy/rldp-http-proxy -p 8080 -c 3333 -C global.config.json

其中,8080是监听传入HTTP查询的TCP端口,3333是用于RLDP和ADNL活动的UDP端口。global.config.json是全局配置文件,可从官方渠道下载。

访问区块链域名

直接在浏览器中输入区块链域名是无法访问的,因为浏览器不知如何解析。需要进行一些额外操作。

区块链域名请求过程

请求区块链域名时,首先会在链上查询对应ANDL地址,类似Web2中的IP地址,在部署网站时自动生成。这个查询过程类似DNS查询。

随后,请求会根据ANDL地址转发到对应机器,返回指定页面。整体过程与Web2类似,主要区别在于地址和域名映射的查询方式。

通过代理访问页面

推荐使用官方提供的代理工具。下载安装启动后,会在8080端口启动代理,之后就可以访问区块链域名了。

如何在「链上」访问网站

使用总结

目前使用中遇到以下问题:

  1. 对运行环境有要求,需要支持较新版本的系统库。

  2. 文档不够清晰,可能由于需求不多,文档有待完善。中文文档更新也不及时。

  3. 访问速度较慢,落后于传统网站。这涉及多方面因素,未来有很大改进空间。

  4. 钱包支持不足。官方提供的简单内嵌浏览器页面目前被主流钱包认定为钓鱼网站。

总的来说,目前体验一般,还有很多可以改进的地方。但这个方向很有创新性,值得尝试。

IP-5.62%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 转发
  • 分享
评论
0/400
Crypto历史课vip
· 5小时前
*查看历史记录* 啊,是的……2023年的DNS集中化泡沫。说实话,这是一个来自AOL时代的经典模式。
查看原文回复0
frenethvip
· 08-10 11:09
传统dns也不稳定了啊 好头疼~
回复0
快照民工vip
· 08-10 11:05
有啥用 还不是得靠域名商
回复0
pumpamentalistvip
· 08-10 10:57
什么鬼 不还是靠公链?
回复0
长线梦想家vip
· 08-10 10:54
三年后这些早期玩去中心化dns的就是真正懂未来的人啊!熊市埋头做点正事不好么?
回复0
Satoshi挑战者vip
· 08-10 10:46
有点搞笑,共识机制下修DNS,等恶意节点占比到51%再聊吧
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)