區塊鏈網站部署實踐: 去中心化域名的優勢與挑戰

近期發生的一件事件讓我重新思考了傳統域名訪問服務的穩定性。我們一直認爲域名解析服務是非常可靠的,但事實證明它也會出現問題。這促使我考慮,去中心化方案或許是一個值得探索的替代選擇。

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

  1. 去中心化:所有修改都需要共識才能實施,沒有單一機構能夠獨斷專行。

  2. 無需證書:由於區塊鏈本身採用加密技術,因此無需額外配置證書。

我之前了解過某區塊鏈平台的域名方案,當時覺得這只是一個有趣的概念,實用性不高,畢竟傳統的訪問方式已經相當穩定和普及。但現在回想起來,這種方案可能確實有其應用場景,因此我決定深入研究一下。

在區塊鏈中創建網站

本文將嘗試在某區塊鏈平台上部署一個網站,並使其可以通過瀏覽器訪問。整個過程分爲三個步驟:1. 購買域名;2. 準備前端頁面;3. 綁定頁面到域名。

區塊鏈中的域名概念與Web2世界中的域名類似,都是爲了簡化復雜地址的別名。在區塊鏈中,它代表用戶的地址,而在Web2中則對應服務器的IP地址。

如何在「鏈上」訪問網站

購買域名

以某區塊鏈平台爲例,域名可以通過官方網站購買,以平台原生代幣定價。與Web2類似,字符越短的域名價格越高,範圍在1-100個代幣不等。

如果某個域名尚未被註冊,你可以低價競拍。競拍後會進入倒計時,期間任何人都可以參與競價,直到倒計時結束。成功購得的域名將以NFT形式存儲在用戶錢包中,可以進行交易。域名有效期爲1年,到期後會被回收。

簡而言之,獲取域名可以通過官網拍賣或從其他用戶處交易。

準備前端頁面

這一步需要準備一個前端頁面用於展示。爲簡化流程,我們只準備一個html文件,並使用nginx將頁面暴露出來。當然,還需要一臺雲服務器來運行前端頁面。這個步驟與傳統前端應用部署相同。

綁定頁面到區塊鏈域名

獲得區塊鏈域名後,可以在官方DNS網站上綁定你的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. 尚未得到錢包支持。官方提供了一個簡單的內嵌瀏覽器頁面,無需安裝代理即可訪問。但目前主流錢包都將其識別爲釣魚網站。

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

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 4
  • 分享
留言
0/400
Ser_This_Is_A_Casinovip
· 23小時前
然而Web2依然坚挺
回復0
GmGmNoGnvip
· 07-02 04:20
麻了 还是中心化香
回復0
MEV猎人不看涨vip
· 07-02 04:18
这套域名系统啥时候能支持我用POW挖?
回復0
AlgoAlchemistvip
· 07-02 04:16
中心化不香吗 看不懂你们
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)