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