關於DAO社群治理dapp系統開發部署教程

丸子qy發表於2023-05-11

  

  去中心化應用,或者叫 dApp,是一種不依賴於中心化伺服器的應用。相反,dApp 使用像是

  

  區塊鏈

  

  和預言機這些 Web3 技術,來實現自己的邏輯和後臺功能,具備不可篡改和安全的特性。開發及方案:wwqqyy420

  

  在這個技術教程中,你會學習到怎樣開發一個 end-to-end 的 dApp。在 dApp 中,使用者可以透過一個智慧合約,獲取和儲存 ETH 的當前價格。這個教程demo 程式碼儲存在 Github 中。

  

  去中心化應用是什麼?

  

  與傳統的 App 在中心化伺服器執行後端程式碼不同的是,dApp 的後端程式碼是執行在區塊鏈上的。當然,dApp 的前端程式碼和 UI 可以使用任何語言開發,可以部署在任何伺服器上與後端邏輯相互動。

  

  因為 dApp 可以透過安全性很高且不可篡改的智慧合約來承載後端邏輯,所以 dApp 有很多 Web2 系統中沒有的優勢:

  

  不會當機

  

  隱私性更強

  

  抗操縱

  

  在最小信任環境下執行邏輯

  

  然而,這些優勢也帶來了對應的缺點。因為程式碼是部署在區塊鏈上,這些邏輯預設是無法修改的,所以 dApp 的維護難度比較高。除此以外,因為程式碼是執行在分散式網路中,而不是中心化伺服器,所以效能會比較低。另外,由於使用者需要有 Web3 錢包並且透過有足夠的加密資產來支付手續費,所以使用者體驗也會下降。

  

  dApp 元件

  

  dApp 的元件會有三個不同的型別:智慧合約,前端邏輯(UI)和資料儲存。

  

  智慧合約

  

  智慧合約儲存了 dApp 的業務邏輯和當前的狀態,這個是 dApp 和傳統網路應用的最大區別,也正是因為這一點讓 dApp 具備了以上提到過的優勢。

  

  前端 / UI

  

  儘管後端邏輯需要開發者完成智慧合約程式碼,並把它部署在區塊鏈上,但是在前端,開發者還是使用標準的網路技術,比如 HTML 和 javascript,因此開發者可以使用自己熟悉的工具,庫和框架。客戶端的 UI 通常透過Web3.js和Ether.js與智慧合約互動。像是對資訊進行簽名並且傳送給智慧合約這些操作,通常是透過瀏覽器的 Web3 錢包 MetaMask 完成。

  

  資料儲存

  

  大多數應用需要儲存資料,但是因為區塊鏈分散式的特點,在鏈上儲存大量的資料效率很低,而且非常貴。這也是為什麼許多 dApp 需要使用IPFS或者Filecoin這樣的鏈下儲存服務來儲存資料,只讓區塊鏈儲存重要的業務邏輯和狀態。

  

  當然你也可以選擇傳統的雲端儲存服務,然而還是有很多開發者選擇分散式儲存,因為區塊鏈應用可以提供最小信任的特性。

  

  Source以太坊 dApp 架構

  

  總結

  

  去中心化應用可以用像是區塊鏈和智慧合約這些 Web3 科技替代傳統的後端伺服器,帶來傳統應用沒有安全性和抗操縱的特點。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70029396/viewspace-2951404/,如需轉載,請註明出處,否則將追究法律責任。

相關文章