一 去中心化應(yīng)用和中心化應(yīng)用的區(qū)別中心化的就是節(jié)點由中心決定,,節(jié)點必須依賴中心,,節(jié)點離開了中心就無法生存。而去中心化就是隨著主體對客體的相互作用的深入和認知機能的不斷平衡,、認知結(jié)構(gòu)的不斷完善,,個體能從自我中心狀態(tài)中解除出來,任何人都是一個節(jié)點,,任何人也都可以成為一個中心,,,任何中心都不是永久的,,而是階段性的,,任何中心對節(jié)點都不具有強制性。它是互聯(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ū)塊鏈進行通信,對區(qū)塊鏈網(wǎng)絡(luò)進行數(shù)據(jù)的讀寫操作,。 ----3.3 前端代碼業(yè)務(wù)層-vue,、react等編寫;DAPP可以使用,。 三 開發(fā)dapp的步驟開發(fā)智能合約:一般使用solidity語言進行開發(fā),,選用以太坊合約等,。 部署智能合約:一般使用remix工具進行部署,先在測試環(huán)境中進行部署智能合約,,申請對應(yīng)的測試幣,。 開發(fā)dapp前端:使用前端框架進行開發(fā),前端設(shè)計到和錢包的連接,、調(diào)用合約,、數(shù)據(jù)查詢等內(nèi)容。 四 環(huán)境搭建主要需要解決的問題是模擬鏈(畢竟真鏈上的操作都是要花錢的),、錢包和合約的問題,。 1 鏈可以用ganache進行模擬。 2 錢包用MetaMask,。 3 solidity既然是一個編程語言,,并且要跑再EVM上,那就有編寫,、編譯,、測試和調(diào)試的地方,這里推薦使用remix,。 五 部署和調(diào)用DApp在被調(diào)用之前需要先部署到以太坊上,,可以直接使用remix進行部署,用來編寫,、編譯和部署以太坊合約,。主要分為部署和調(diào)用兩部分。 部署: 調(diào)用 部署好的合約可以進行調(diào)用,,前端調(diào)用主要依賴MetaMask插件,,前端的Web3 Provider是與特定的以太坊節(jié)點相連,可以直接使用web3.currentProvider調(diào)用,。 |
|