探索区块链网站部署:去中心化的新选择

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/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相当类似,主要区别在于地址和域名映射的查询方式不同。

通过代理访问页面

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

如何在「链上」访问网站

使用总结

目前使用下来,遇到了以下几个问题:

  1. 对网站运行环境有要求。系统需要支持glibc 2.34及以上版本,因此在部署页面前应先检查机器是否满足要求。

  2. 文档不够清晰。可能是因为这种需求不多,文档编写不够完善,需要自行摸索。此外,中文版本的更新通常落后于英文版本。

  3. 访问速度较慢。与传统网站相比,访问速度有所落后。当然,这涉及多方面因素,未来还有很大的改进空间。

  4. 未得到钱包支持。官方提供了一个简单的内嵌浏览器页面,可以选择不安装代理就能访问。但目前主流钱包都将这个网站标记为钓鱼网站。

总的来说,目前的用户体验一般,还有很多可以提升和改进的地方。不过,这个方向很有创新性,值得一试。

IP-2.51%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 10
  • 转发
  • 分享
评论
0/400
MoonMathMagicvip
· 07-28 20:00
去中心化真香啊
回复0
MetaMuskRatvip
· 07-28 17:11
支持去中心化解析
回复0
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)