深度探索:部署TON区块链网站的完整流程与未来潜力

重新思考去中心化域名访问服务的潜力

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

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

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

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

我之前曾了解过TON上的域名方案,当时认为它可能只是一个有趣但实用性不高的尝试,毕竟传统的访问方式已经相当稳定和普及。但现在回想起来,这种方案可能确实有其适用场景,因此我决定深入研究一下。

在区块链中创建网站

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

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

如何在「链上」访问网站

购买域名

以TON为例,可以通过官方网站购买域名,价格以TON计算。与Web2类似,字符越短的域名价格越高,范围在1-100 TON不等。

如果某个域名尚未被注册,你可以以较低价格出价,随后进入倒计时阶段,期间所有人都可以参与竞价。拍得域名后,它会以NFT形式存储在你的钱包中。域名NFT可以进行交易,有效期为1年,到期后将被回收。

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

准备前端页面

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

绑定页面到.ton域名

获得.ton域名后,可以在TON的DNS官网绑定你的ANDL地址。你也可以使用TON提供的绑定工具,按照官方指南进行操作。

完成绑定后,还需在服务器上启动一个监听端口,用于接收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是TON全局配置文件。

访问.ton域名

直接在浏览器中输入.ton域名是无法访问的,因为浏览器不知道如何解析这类域名。因此,还需要进行一些额外设置。

.ton请求过程

请求.ton域名时,首先会在区块链上查询对应的ANDL地址,这个过程类似于DNS查询。随后,请求会根据ANDL地址转发到相应的机器上,返回指定的页面。整个流程与Web2相似,主要区别在于地址和域名映射的查询方式。

通过代理访问页面

推荐使用官方提供的Tonutils Reverse Proxy工具。安装并启动后,它会在8080端口上启动一个代理,之后就可以访问.ton域名了。

如何在「链上」访问网站

使用总结

目前使用过程中遇到了以下几个问题:

  1. 对运行环境有要求:系统需支持glibc 2.34及以上版本。

  2. 文档不够清晰:可能是因为需求不高,文档编写不够完善,需要自行摸索。中文文档更新也不够及时。

  3. 访问速度较慢:相比传统网站,访问速度较慢,但未来有很大改进空间。

  4. 缺乏钱包支持:官方提供了一个简单的内嵌浏览器页面,可以不安装代理直接访问。但目前主流钱包都将其识别为钓鱼网站。

总的来说,目前的用户体验一般,还有很多需要改进的地方。但这个方向很有创新性,值得尝试和探索。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 分享
评论
0/400
号角三声vip
· 07-18 07:00
太久太久不支持万一崩了呢
回复0
空投碎片收集者vip
· 07-18 06:58
ton 早期就觉得是个宝
回复0
NFT深呼吸vip
· 07-18 06:56
你又理想主义了
回复0
0x复利型人格vip
· 07-18 06:39
TON能行吗
回复0
MemeCoinSavanvip
· 07-18 06:33
基于af,区块链dns在现在字面上是博弈论最优的
查看原文回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)