本文尝试在 TON 区块链上部署一个可访问的网页,探讨了购买域名、准备前端页面、绑定域名等步骤,并总结了当前体验中存在的问题与未来潜力。目前来看这种访问页面的方式在体验上效果一般,并且流程上较为繁琐,但这种去中心化的访问页面方式在未来有无限的可能。
撰文:Yeezo,ZAN
最近发生的一件事件让笔者重新思考起了传统的域名访问服务,我们一直认为非常稳定的域名解析服务,居然也会有出问题的时候。这让笔者不禁在想,去中心化的方案或许是一个值得探索的替代方案呢?
思考了一下,在区块链上部署页面,它可能有以下几个好处:
笔者之前看到过 TON 上的域名方案,当时觉得似乎只是好玩,实用性一般,毕竟传统的访问方式已经很稳定、常用了。但现在想想,可能真的会有用得上它的地方,所以笔者打算再好好研究一下。
在区块链中创建网站
本文将在这里尝试将一个网站部署在 TON 中,并且可以让用户在浏览器中访问这个页面。流程分为三步:1. 购买域名;2. 准备前端页面;3. 绑定页面到域名。
区块链中的域名和 WEB2 世界中的域名概念其实是类似的,都是对某一复杂不易记的地址的别名,在区块链中是代表了用户的地址,在 WEB2 中则是服务的 IP 地址。
购买域名
以 TON 为例,域名的官方购买地址是 https://dns.ton.org/,以 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 端口(即通过 TON 网络连接到 TON 网站)。global.config.json 是 TON 全局配置的文件名,可以在这里下载。
访问 .ton 域名
想要直接在浏览器中敲 .ton 的域名去访问网站是没有效果的,因为浏览器不知道要将这个域名解析到哪里。所以在这里还需要做一些额外的操作。
请求 .ton 的过程
在请求 .ton 域名的时候,首先会去链上查询对应 ANDL 地址,该地址可以简单理解为 WEB2 中的 IP 地址,在你部署网站的时候,会自动生成。这次的查询过程也可以类比为 DNS 查询过程。
之后根据 ANDL 的地址,请求会转发到你对应的机器上,这时候可以指定对应返回的页面。整体的过程和 WEB2 相当类似,主要区别在于地址和域名映射的查询方式不太一样。
通过代理访问页面
最推荐的方式使用官网提供的代理工具 Tonutils Reverse Proxy。下载安装启动之后,会启动一个 8080 端口用于代理,之后就可以去访问 .ton 的域名了。
可以看到能够访问 .ton 的域名的网站了。
使用总结
目前使用下来,遇到了以下几个问题:
总而言之,目前体验其实一般般,后面还有很多可以提升改进的地方,但是这个方向笔者觉得挺好挺创新的,尝试一下也是不错的。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。