|
中心化的就是節點由中心決定,節點必須依賴中心,節點離開了中心就無法生存。而去中心化就是隨著主體對客體的相互作用的深入和認知機能的不斷平衡、認知結構的不斷完善,個體能從自我中心狀態中解除出來,任何人都是一個節點,任何人也都可以成為一個中心,,任何中心都不是永久的,而是階段性的,任何中心對節點都不具有強制性。它是互聯網發展過程中形成的社會關系形態和內容產生形態,是相對于“中心化”而言的新型網絡內容生產過程。 DApp的整體框架 去中心化app可以由多個智能合約組成,每個智能合約都有各自的地址,類似于以太坊上的一個賬戶,可以存取以太幣; DApp的基本架構圖
分為三個部分: 1區塊鏈以及本身提供的能力。 2三方錢包等提供的能力。 3我們要寫的DApp部分---分為三個部分: ----3.1和EVM交互的合約層---solidity編寫。 ----3.2和合約層、錢包交互的交互層-web3js,其和Ajax類似,可以用來讀取以太坊區塊鏈,主要使用的JSON RPC和區塊鏈進行通信,對區塊鏈網絡進行數據的讀寫操作。 ----3.3前端代碼業務層-vue、react等編寫;DAPP可以使用。 開發dapp的步驟 開發智能合約:一般使用solidity語言進行開發,選用以太坊合約等。 部署智能合約:一般使用remix工具進行部署,先在測試環境中進行部署智能合約,申請對應的測試幣。 開發dapp前端:使用前端框架進行開發,前端設計到和錢包的連接、調用合約、數據查詢等內容。 環境搭建 主要需要解決的問題是模擬鏈(畢竟真鏈上的操作都是要花錢的)、錢包和合約的問題。 1鏈可以用ganache進行模擬。 2錢包用MetaMask。 3 solidity既然是一個編程語言,并且要跑再EVM上,那就有編寫、編譯、測試和調試的地方,這里推薦使用remix。 部署和調用 DApp在被調用之前需要先部署到以太坊上,可以直接使用remix進行部署,用來編寫、編譯和部署以太坊合約。主要分為部署和調用兩部分。 |