深度探索:部署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 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 6
  • 分享
留言
0/400
号角三声vip
· 9小時前
太久太久不支持万一崩了呢
回復0
空投碎片收集者vip
· 9小時前
ton 早期就觉得是个宝
回復0
NFT深呼吸vip
· 9小時前
你又理想主义了
回復0
0x复利型人格vip
· 9小時前
TON能行吗
回復0
MemeCoinSavanvip
· 9小時前
基于af,区块链dns在现在字面上是博弈论最优的
查看原文回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)