Dapp-Development
關於 DApp UI 託管
是一個 DApp 也像 Web 應用程序一樣託管。據我所知,智能合約儲存在區塊鏈中,但 UI 部分發生了什麼?
你需要了解geth、pyethap、alethzero等乙太坊客戶端及其可用介面之間的區別。
請參見下面的草圖:
Local client (127.0.0.1:4000) ------> Local Eth client (http://127.0.0.1:8000) ------> Bootstrap node Eth client (eth://<pub_key>@<IPv4>:30303)
本地客戶端是任何(在瀏覽器中執行的 web3 程式碼,JSON 作為參數發送到curl、wget等命令行工具)的應用程序,能夠通過套接字在 POST 請求中將 JSON 對象發送到本地乙太坊客戶端(監聽預設為 127.0.0.1:8000)。
請注意,以 JSON 對象向本地 eth 客戶端發送命令的應用程序不必與 eth 客戶端本身在同一個機器上執行。但是,到目前為止,建議使用它,因為客戶端尚不支持相互驗證的 TLS 隧道,因此容易受到MITM攻擊。
用 Javascript 編寫的web3 (UI) 程式碼可以很容易地與 web 前端集成,從而使與 eth 客戶端的互動與 web 應用程序的互動相同。