探索區塊鏈網站部署:以TON爲例實踐去中心化域名與網頁托管

robot
摘要生成中

近期發生的一起事件引發了人們對傳統域名訪問服務的重新思考。一直被認爲極其穩定的域名解析服務竟然也會出現問題,這不禁讓人思考:去中心化方案是否可能成爲一個值得探索的替代選擇?

在區塊鏈上部署網頁可能具有以下幾個優勢:

  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端口(即通過TON網路連接到TON網站)。global.config.json是TON全局配置文件名,可在指定位置下載。

訪問 .ton 域名

直接在瀏覽器中輸入.ton域名無法訪問網站,因爲瀏覽器不知道如何解析這個域名。因此需要進行一些額外操作。

請求 .ton 的過程

請求.ton域名時,首先會在鏈上查詢對應的ANDL地址,這可以類比爲WEB2中的IP地址,在部署網站時會自動生成。這個查詢過程類似於DNS查詢。

然後根據ANDL地址,請求會被轉發到對應的機器上,此時可以指定返回的頁面。整個過程與WEB2非常相似,主要區別在於地址和域名映射的查詢方式不同。

如何在「鏈上」訪問網站

通過代理訪問頁面

最推薦的方式是使用官方提供的代理工具Tonutils Reverse Proxy。下載安裝並啓動後,會在8080端口啓動代理,之後就可以訪問.ton域名了。

如何在「鏈上」訪問網站

使用總結

目前使用過程中遇到了以下幾個問題:

  1. 對網站運行環境有要求。系統需要支持glibc 2.34版本以上,部署頁面前應先檢查機器是否滿足要求。

  2. 文檔不夠清晰。可能是因爲TON運行網站的需求不多,文檔編寫不夠完善,需要自行摸索。此外,中文版本更新不及時,落後於英文版本內容。

  3. 訪問速度較慢。訪問速度落後於傳統網站。當然,這涉及多方面因素,未來還有很大的進步空間。

  4. 未得到錢包支持。官方提供了一個簡單的內嵌瀏覽器頁面,可以選擇不安裝代理就能訪問。但目前這個網站被所有主流錢包都認定爲釣魚網站。

總的來說,目前的使用體驗一般,還有很多可以改進的地方。不過,這個方向頗具創新性,值得一試。

TON2.71%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 2
  • 分享
留言
0/400
TooScaredToSellvip
· 07-20 19:19
TON挺香的 就是配置麻烦
回復0
空投碎梦师vip
· 07-20 19:17
额 ton这玩意儿也能建站
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)