


下載本文檔
版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南省婁底市雙峰一中等五校2025年高三第六次模擬考試化學(xué)試卷含解析
- 江西省八所重點(diǎn)中學(xué)2025屆高三第五次模擬考試化學(xué)試卷含解析
- 2025屆福建省福州瑯岐中學(xué)高三(最后沖刺)化學(xué)試卷含解析
- 2025屆黑龍江省大慶市紅崗區(qū)大慶十中高三第二次模擬考試化學(xué)試卷含解析
- 候銀匠課件第一
- 家庭健康知識(shí)授課
- 2025年機(jī)械設(shè)備批發(fā)服務(wù)項(xiàng)目建議書(shū)
- 2025年激光掃瞄顯微鏡項(xiàng)目發(fā)展計(jì)劃
- 2025年電波特性測(cè)試儀器項(xiàng)目建議書(shū)
- 2025屆科大附中高考化學(xué)二模試卷含解析
- DB51-T 5046-2014 混凝土結(jié)構(gòu)工程施工工藝規(guī)程
- 風(fēng)力發(fā)電機(jī)機(jī)組齒輪箱檢修知識(shí)培訓(xùn)課件
- 小學(xué)心理健康教育-幸福賬單教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 高邊坡施工安全監(jiān)理實(shí)施細(xì)則范本
- 【拓展閱讀】螞蟻和蟬
- 花期女人因時(shí)定養(yǎng)
- 鍋爐房日常隱患排查表
- 美克爾憩室課件
- 雨、污水管道施工方案
- 江蘇建設(shè)工程質(zhì)量檢測(cè)和建筑材料試驗(yàn)收費(fèi)標(biāo)準(zhǔn)蘇價(jià)服
- 中國(guó)嚴(yán)重膿毒癥膿毒性休克治療指南2023年
評(píng)論
0/150
提交評(píng)論