以太坊dApp開(kāi)發(fā)教程(如何一步步構(gòu)造一個(gè)全棧式去中心化應(yīng)用)背景及環(huán)境搭建_第1頁(yè)
以太坊dApp開(kāi)發(fā)教程(如何一步步構(gòu)造一個(gè)全棧式去中心化應(yīng)用)背景及環(huán)境搭建_第2頁(yè)
以太坊dApp開(kāi)發(fā)教程(如何一步步構(gòu)造一個(gè)全棧式去中心化應(yīng)用)背景及環(huán)境搭建_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、以太坊dApi開(kāi)發(fā)教程(如何一步步構(gòu)造一個(gè)全棧式去中心化應(yīng)用)(一)背景及環(huán)境搭建、簡(jiǎn)介本教程幫助你在以太坊區(qū)塊鏈上構(gòu)建去中心化的應(yīng)用(dApp),教你如何寫(xiě)第一個(gè)以太坊智能合約,來(lái)實(shí)現(xiàn)對(duì)兩個(gè)候選者的選舉投票功能。我們會(huì)對(duì)合約編寫(xiě)測(cè)試代碼,把合約部署到以太坊區(qū)塊鏈上,開(kāi)發(fā)一個(gè)前臺(tái)界面以讓用戶(hù)投票,我們還會(huì)介紹幾個(gè)關(guān)鍵概念:什么是區(qū)塊鏈、智能合約,dApp如何工作。視頻教程見(jiàn)資源:二、基本概念什么是區(qū)塊鏈我們先看一個(gè)web應(yīng)用,通常我們使用瀏覽器通過(guò)網(wǎng)絡(luò)連接到中心服務(wù)器,所有web應(yīng)用的代碼都存在于中心服務(wù)器,所有數(shù)據(jù)存在于數(shù)據(jù)庫(kù)中,你使用web應(yīng)用時(shí)必須和中心服務(wù)器通信。如果我們要建立投票網(wǎng)站

2、,需要解決以下兩個(gè)問(wèn)題:數(shù)據(jù)庫(kù)數(shù)據(jù)可能改變,數(shù)據(jù)可能被使用多次或者完全被移除web服務(wù)器上的源代碼也可能隨時(shí)改變我們想把應(yīng)用部署在區(qū)塊鏈上,使任何能訪問(wèn)網(wǎng)絡(luò)的人都可以參與投票,我們要保證投票被記下來(lái),且只記下一次,現(xiàn)在看看我們?cè)趺醋龅?。Insteadofhavinganetwork,acentralserver,andadatabaset,heblockchainisanetworkandadatabase.Aallinoneblockchainisapeer-to-peernetworkofcomputers,callednodes,thatshareallthedataandthecode

3、inthenetwork.區(qū)塊鏈?zhǔn)褂晒?jié)點(diǎn)組成的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),在其中共享所有數(shù)據(jù)和代碼。如果你是網(wǎng)絡(luò)中的節(jié)點(diǎn),將存儲(chǔ)所有數(shù)據(jù)和代碼的拷貝。區(qū)塊鏈沒(méi)有中心服務(wù)器。不像中心化的數(shù)據(jù)庫(kù),區(qū)塊鏈的交易數(shù)據(jù)存儲(chǔ)在一系列的區(qū)塊中,這些區(qū)塊連接在一起組成公開(kāi)的分布式賬本,包含了所有區(qū)塊鏈中的數(shù)據(jù),通過(guò)密碼學(xué)的hash函數(shù)保證安全,通過(guò)分布式共識(shí)算法保證一致性。本例子的投票系統(tǒng)在區(qū)塊鏈上開(kāi)發(fā),因?yàn)槲覀冃枰WC每個(gè)投票都被記錄而且不能更改。首先,用戶(hù)需要一個(gè)有幾個(gè)以太幣的賬戶(hù),當(dāng)他們連接到區(qū)塊鏈網(wǎng)絡(luò),并且投票后,支付一小部分代價(jià)(gas)以把這筆交易寫(xiě)到區(qū)塊鏈中,當(dāng)投票發(fā)生后,一些礦工節(jié)點(diǎn)競(jìng)爭(zhēng)記賬權(quán),誰(shuí)通過(guò)POW成

4、功創(chuàng)建區(qū)塊,就能獲得交易代價(jià)的一部分獎(jiǎng)勵(lì)。投票者就能確定自己的交易永久記錄下來(lái)了。注意:查看區(qū)塊鏈上的數(shù)據(jù)是免費(fèi)的,但寫(xiě)數(shù)據(jù)需要代價(jià)。什么是智能合約我們的投票過(guò)程就是通過(guò)智能合約完成的,以太坊區(qū)塊鏈允許智能合約通過(guò)以太坊虛擬機(jī)(EVM)來(lái)執(zhí)行智能合約。智能合約是應(yīng)用的一些業(yè)務(wù)邏輯,也是dApp的核心部分,負(fù)責(zé)讀寫(xiě)區(qū)塊鏈上的數(shù)據(jù)、執(zhí)行一些業(yè)務(wù)代碼。智能合約用Solidity書(shū)寫(xiě),類(lèi)似于JavaScript。智能合約很像網(wǎng)絡(luò)上的微服務(wù),如果公開(kāi)賬本是數(shù)據(jù)庫(kù)層,智能合約就是業(yè)務(wù)邏輯層。本應(yīng)用中創(chuàng)建這個(gè)合約的人負(fù)責(zé)計(jì)數(shù),其他投票者每人一票,得票最多的候選者獲勝。以下是本dApp的結(jié)構(gòu)圖:我們有一個(gè)傳統(tǒng)的用HTML,CSS,Javascript寫(xiě)的前臺(tái)客戶(hù)端,客戶(hù)端會(huì)連接到本地的以太坊區(qū)塊鏈,智能合約會(huì)部署在本地。3.本系統(tǒng)效果圖這個(gè)是客戶(hù)端的web界面,將與區(qū)塊鏈上的智能合約交互。三、安裝軟件需

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論