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

下載本文檔

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

文檔簡介

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論