區(qū)塊鏈部署與運(yùn)維 課件 第3、4章 以太坊初探、區(qū)塊鏈平臺(tái)部署_第1頁(yè)
區(qū)塊鏈部署與運(yùn)維 課件 第3、4章 以太坊初探、區(qū)塊鏈平臺(tái)部署_第2頁(yè)
區(qū)塊鏈部署與運(yùn)維 課件 第3、4章 以太坊初探、區(qū)塊鏈平臺(tái)部署_第3頁(yè)
區(qū)塊鏈部署與運(yùn)維 課件 第3、4章 以太坊初探、區(qū)塊鏈平臺(tái)部署_第4頁(yè)
區(qū)塊鏈部署與運(yùn)維 課件 第3、4章 以太坊初探、區(qū)塊鏈平臺(tái)部署_第5頁(yè)
已閱讀5頁(yè),還剩92頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

以太坊初探高等職業(yè)教育新目錄新專標(biāo)電子與信息大類教材區(qū)塊鏈部署與運(yùn)維第三章01認(rèn)識(shí)以太坊通過本單元的學(xué)習(xí),使學(xué)生能夠掌握區(qū)塊鏈中以太坊平臺(tái)、以太坊賬號(hào)交易、智能合約基本知識(shí),掌握如何使用以太坊終端及IDE。培養(yǎng)學(xué)生使用以太坊客戶端、獨(dú)立搭建以太坊開發(fā)環(huán)境及使用Geth節(jié)點(diǎn)的技能。學(xué)習(xí)目標(biāo)認(rèn)識(shí)以太坊任務(wù)布置:學(xué)習(xí)以太坊平臺(tái)基本知識(shí)。學(xué)習(xí)以太坊賬號(hào)交易。了解智能合約。認(rèn)識(shí)以太坊以太坊平臺(tái)以太坊是典型的公有鏈,以太坊平臺(tái)是一個(gè)運(yùn)行智能合約去中心化的平臺(tái),是一臺(tái)“世界計(jì)算機(jī)”。該平臺(tái)支持圖靈完備的分布式應(yīng)用,按照智能合約所約定的邏輯自動(dòng)執(zhí)行,理想情況下將不存在攻擊、欺詐等問題。認(rèn)識(shí)以太坊以太坊是由它的創(chuàng)始人VitalikButerin提出的,目前該平臺(tái)支持Go、C++、Python等多種語(yǔ)言實(shí)現(xiàn)的客戶端,智能合約使用Solidity語(yǔ)言實(shí)現(xiàn)。認(rèn)識(shí)以太坊我們來(lái)看看以太坊發(fā)展歷史上的一些重要時(shí)間節(jié)點(diǎn)。2013年年底,VitalikButerin提出在比特幣一樣的去中心化網(wǎng)絡(luò)上運(yùn)行任意圖靈完備的應(yīng)用程序(以太坊白皮書):2014年7月,以太幣預(yù)售,共籌集超過1800萬(wàn)美元的比特幣;2016年6月,DAO眾籌受到漏洞攻擊,造成價(jià)值超過5000萬(wàn)美元的以太幣被凍結(jié),通過硬分叉解決。認(rèn)識(shí)以太坊以太坊支持圖靈完備的智能合約,以及支持智能合約的虛擬機(jī)EVM選用了內(nèi)存需求較高的哈希函數(shù),避免出現(xiàn)強(qiáng)算力礦機(jī)和礦池攻擊。以太坊擁有叔塊激勵(lì)機(jī)制,并通過Gas限制代碼執(zhí)行命令數(shù)減少區(qū)塊產(chǎn)生間隔時(shí)間(15秒左右),避免循環(huán)執(zhí)行攻擊,支持POW共識(shí)算法,并支持效率更高的POS算法。認(rèn)識(shí)以太坊以太坊中的賬號(hào)主要分為兩種類型,如圖3-1所示。認(rèn)識(shí)以太坊以太坊賬號(hào)交易第一種為合約賬號(hào),用于存儲(chǔ)智能合約代碼。當(dāng)合約賬號(hào)被調(diào)用時(shí),存儲(chǔ)其中的智能合約會(huì)在節(jié)點(diǎn)的虛擬機(jī)中執(zhí)行,并消耗一定的燃料。第二種是外部賬號(hào),它是以太幣擁有者賬號(hào),對(duì)應(yīng)到擁有者公鑰,可以創(chuàng)建交易發(fā)給其他合約賬號(hào)或外部賬號(hào)。上述兩種賬號(hào)擁有相同的地址空間和數(shù)據(jù)結(jié)構(gòu),但是功能不同。外部賬號(hào)由用戶用公鑰和私鑰控制,合約賬號(hào)由合約編譯后的code控制。認(rèn)識(shí)以太坊以太坊中的交易是指從一個(gè)賬號(hào)發(fā)送到其他賬號(hào)的消息數(shù)據(jù),根據(jù)用途可以分為轉(zhuǎn)賬、創(chuàng)建合約和調(diào)用合約三種類型。每個(gè)交易包含下面一些字段,例如,Recipient字段指目標(biāo)賬號(hào)地址;Amount字段指可以指定轉(zhuǎn)移的以太幣數(shù)量;AccountNonee字段指記錄已發(fā)送過的交易序號(hào),用于防止交易被重放;Price字段指執(zhí)行交易需要消耗的Gas價(jià)格;GasLimit字段指交易執(zhí)行允許消耗的最大Gas值;Signature字段指簽名相關(guān)數(shù)據(jù)。認(rèn)識(shí)以太坊以太坊的交易可以看成是狀態(tài)轉(zhuǎn)移。我們可以將以太坊看作分布式狀態(tài)機(jī),通過交易實(shí)現(xiàn)狀態(tài)轉(zhuǎn)移,以太坊所有的節(jié)點(diǎn)維護(hù)相同的狀態(tài)。交易狀態(tài)轉(zhuǎn)移如圖3-2所示。認(rèn)識(shí)以太坊這里的初始狀態(tài)是地址1擁有1024eth,地址2擁有5202eth,經(jīng)過一筆地址1向地址2轉(zhuǎn)賬10eth的交易后,網(wǎng)絡(luò)中的狀態(tài)變成了地址1擁有1014eth,地址2擁有5212eth,這就是交易對(duì)狀態(tài)的改變。認(rèn)識(shí)以太坊如圖3-3所示為以太坊的區(qū)塊結(jié)構(gòu),和一般區(qū)塊結(jié)構(gòu)有一些區(qū)別,以太坊中有叔塊的概念,在區(qū)塊體中不止存儲(chǔ)了交易,還存儲(chǔ)了叔塊,就是圖3-3中的Uncles,在區(qū)塊頭中也存儲(chǔ)了叔塊哈希UncleHash。認(rèn)識(shí)以太坊叔塊是指當(dāng)兩個(gè)獨(dú)立的礦工先后發(fā)現(xiàn)了兩個(gè)不同的滿足要求的區(qū)塊時(shí),產(chǎn)生了臨時(shí)分叉,這里帶有笑臉圖標(biāo)的區(qū)塊就是叔塊,雖然它失敗了,但仍然是高度1的區(qū)塊的子區(qū)塊,是高度2的兄弟區(qū)塊。于是,高度3的區(qū)塊就尊稱帶有笑臉圖標(biāo)的區(qū)塊為叔叔,叔塊就是這么得名的。不能成為主鏈一部分的孤兒區(qū)塊,如果有幸被后來(lái)的區(qū)塊通過Uncles字段收留進(jìn)區(qū)塊鏈就變成了叔塊。認(rèn)識(shí)以太坊如果一個(gè)孤兒區(qū)塊沒有被任何區(qū)塊收留,這個(gè)孤兒區(qū)塊還是會(huì)被丟棄,不會(huì)進(jìn)入?yún)^(qū)塊鏈,也就是說孤兒區(qū)塊被收留后才會(huì)變成叔塊。以太坊的設(shè)計(jì)比比特幣人性得多,叔塊也是可以獲得獎(jiǎng)勵(lì)的,礦工們?cè)僖膊挥脫?dān)心白忙活了。而且如果哪個(gè)區(qū)塊把叔塊收留了,收留了叔塊的區(qū)塊還有額外的獎(jiǎng)勵(lì),收留叔塊也被稱為包含叔塊。認(rèn)識(shí)以太坊那么以太坊為什么要這么設(shè)計(jì)呢?因?yàn)橐蕴坏膮^(qū)塊時(shí)間是15秒左右,相對(duì)于比特幣,更容易出現(xiàn)臨時(shí)分叉和孤兒區(qū)塊。而且較短的區(qū)塊時(shí)間也使得區(qū)塊在整個(gè)網(wǎng)絡(luò)中更難以充分傳播,尤其是對(duì)那些網(wǎng)速慢的礦工,這是極其不公平的。為了平衡各方利益,才設(shè)計(jì)了這樣一個(gè)叔塊機(jī)制?!啊闭J(rèn)識(shí)以太坊智能合約以太坊是運(yùn)行智能合約的平臺(tái),智能合約是一段可以部署運(yùn)行在以太坊上的程序(代碼和數(shù)據(jù)的集合),智能合約可以接受外部的交易請(qǐng)求和事件,進(jìn)而觸發(fā)提前編寫好的合約代碼,還可以生成新的交易和事件,進(jìn)一步調(diào)用其他智能合約;智能合約是確定性的“單線程”的程序,即在所有節(jié)點(diǎn)上運(yùn)行結(jié)果一樣。認(rèn)識(shí)以太坊普通轉(zhuǎn)賬會(huì)消耗21000Gas。以太坊的最小單位是wei,也是我們?cè)诿钚兄酗@示的默認(rèn)單位,它的單位換算如表3-1所示,每1000進(jìn)一個(gè)單位。認(rèn)識(shí)以太坊在以太坊平臺(tái)上運(yùn)行的智能合約編程語(yǔ)言一般為Solidity語(yǔ)言,它是類JavaScript語(yǔ)言,文件后綴為“.sol”。智能合約在編譯時(shí)會(huì)將高級(jí)語(yǔ)言Solidity編譯為以太坊虛擬機(jī)能理解的字節(jié)碼。一般智能合約的使用步驟是先編寫合約,然后編譯、部署、調(diào)用合約,這個(gè)過程也可以對(duì)合約進(jìn)行監(jiān)聽。認(rèn)識(shí)以太坊在代碼的最開始,要聲明編寫這段智能合約使用的Solidity版本號(hào),如圖3-4所示。認(rèn)識(shí)以太坊編程實(shí)現(xiàn)智能合約由于智能合約有很多個(gè)版本,不同的版本的部分語(yǔ)法可能會(huì)不一樣,為了讓其他程序員看懂代碼,編寫者需要讓他們知道智能合約是用哪個(gè)版本的Solidity編寫的,這樣可以減少一些不必要的麻煩。認(rèn)識(shí)以太坊填寫任務(wù)評(píng)價(jià)表,如表3-2所示。認(rèn)識(shí)以太坊02使用以太坊客戶端任務(wù)場(chǎng)景以太坊是一個(gè)運(yùn)行智能合約的去中心化平臺(tái),我們可以使用以太坊客戶端Geth進(jìn)行相關(guān)操作,包括賬號(hào)操作、賬號(hào)交易、部署智能合約等。使用以太坊客戶端01020304任務(wù)布置:掌握終端的使用方法。學(xué)習(xí)以太坊客戶端。掌握Geth的使用方法。使用以太坊客戶端一般操作系統(tǒng)分為兩個(gè)部分,一部分稱為內(nèi)核,另一部分稱為用戶交互界面,如圖3-8所示。使用以太坊客戶端什么是終端內(nèi)核部分負(fù)責(zé)系統(tǒng)的全部邏輯操作,由海量命令組成,這一部分是系統(tǒng)運(yùn)行的命脈,不與用戶接觸;交互界面則是開機(jī)之后我們所看到的東西,比如窗口、軟件、應(yīng)用程序等。使用以太坊客戶端如果想對(duì)系統(tǒng)內(nèi)核的某些操作邏輯做出一些修改,應(yīng)該怎么辦呢?終端是連接內(nèi)核與交互界面的橋梁,它允許用戶在交互界面上打開一個(gè)叫作“Terminal終端”的應(yīng)用程序,在其中輸入命令,系統(tǒng)會(huì)直接給出反饋。因?yàn)榻K端這座橋,實(shí)際允許用戶間接控制系統(tǒng)內(nèi)核,也就是控制系統(tǒng)的大腦,因此它理論上具備控制一切的權(quán)利。使用以太坊客戶端終端界面是一種命令行界面,它是在圖形用戶界面(我們現(xiàn)在用的界面)得到普及之前使用最為廣泛的用戶界面,它通常不支持鼠標(biāo),用戶只能通過鍵盤輸入命令,計(jì)算機(jī)接收到命令后執(zhí)行對(duì)應(yīng)的任務(wù)。使用以太坊客戶端什么是以太坊客戶端我們都知道,以太坊是一個(gè)開源項(xiàng)目,由“以太坊黃皮書”正式規(guī)范定義。除了各種以太坊改進(jìn)提案,此正式規(guī)范還定義了以太坊客戶端的標(biāo)準(zhǔn)行為。以太坊客戶端是一個(gè)軟件應(yīng)用程序,它實(shí)現(xiàn)以太坊規(guī)范并通過P2P網(wǎng)絡(luò)與其他以太坊客戶端進(jìn)行通信。如果不同的以太坊客戶端符合相同的參考規(guī)范和標(biāo)準(zhǔn)化通信協(xié)議,就可以進(jìn)行相互操作。因?yàn)橐蕴挥忻鞔_的正式規(guī)范,以太網(wǎng)客戶端有了許多獨(dú)立開發(fā)的軟件,它們之間又可以彼此交互。使用以太坊客戶端Geth的全稱為Go-Ethereum,如圖3-13所示,是目前最受歡迎的以太坊客戶端之一,我們可以使用它來(lái)管理以太坊賬號(hào),部署執(zhí)行智能合約,還可以用它下載以太坊主鏈的交易數(shù)據(jù)。使用以太坊客戶端什么是Geth為了與區(qū)塊鏈進(jìn)行通信,我們必須使用區(qū)塊鏈客戶端。客戶端是能夠與其他客戶建立P2P通信信道,簽署和廣播交易、挖掘、部署和與智能合約交互等的軟件??蛻舳送ǔ1环Q為節(jié)點(diǎn)。在以太坊黃皮書中有對(duì)以太坊節(jié)點(diǎn)必須遵循的功能的正式定義。黃皮書定義了網(wǎng)絡(luò)上節(jié)點(diǎn)所需的函數(shù)、挖掘算法、私鑰/公鑰ECDSA參數(shù)。它定義了使節(jié)點(diǎn)與以太坊客戶端完全兼容的全部功能?;谝蕴稽S皮書,任何人都能夠以他們認(rèn)為合適的語(yǔ)言創(chuàng)建自己的以太坊節(jié)點(diǎn)。使用以太坊客戶端創(chuàng)建賬號(hào)。Geth應(yīng)用實(shí)踐轉(zhuǎn)賬。終端的使用。開發(fā)者環(huán)境準(zhǔn)備。開發(fā)環(huán)境的賬號(hào)。使用以太坊客戶端Geth應(yīng)用實(shí)踐填寫任務(wù)評(píng)價(jià)表,如表3-4所示。使用以太坊客戶端03搭建以太坊開發(fā)環(huán)境在開發(fā)智能合約時(shí),我們需要搭建以太坊開發(fā)環(huán)境,RemixIDESolidity編譯器可以在線編寫智能合約,對(duì)智能合約進(jìn)行編譯、部署和調(diào)用。任務(wù)場(chǎng)景搭建以太坊開發(fā)環(huán)境任務(wù)布置:掌握Remix的使用方法。掌握在Remix中部署智能合約的方法。掌握在Geth中部署智能合約的方法。搭建以太坊開發(fā)環(huán)境什么是RemixRemix是以太坊官方開源的Solidity在線集成開發(fā)環(huán)境,可以使用Solidity語(yǔ)言在網(wǎng)頁(yè)內(nèi)完成以太坊智能合約的在線開發(fā)、在線編譯、測(cè)試習(xí)題、在線部署、在線調(diào)試與在線交互,非常適合Solidity智能合約的學(xué)習(xí)與原型快速開發(fā)。搭建以太坊開發(fā)環(huán)境Remix為左中右三欄布局,左側(cè)為Remix文件管理器,中間為文件編輯器及終端,右側(cè)為開發(fā)工具面板。Remix界面如圖3-15所示。搭建以太坊開發(fā)環(huán)境Remix文件管理器文件管理器用來(lái)列出在瀏覽器本地存儲(chǔ)中保存的文件,分為“browser"和“config"兩個(gè)日錄。Remix文件編輯器及終端Remix中間區(qū)域?yàn)樯舷虏季?,分別提供文件編輯功能和終端訪問功能。搭建以太坊開發(fā)環(huán)境Remix界面合約編譯進(jìn)入在線RemixIDE,將HelloWorld合約代碼復(fù)制到helloworld.sol文件中并保存。搭建以太坊開發(fā)環(huán)境在Remix中部署智能合約合約部署合約編譯完成后,進(jìn)入合約部署界面,選擇一個(gè)測(cè)試賬號(hào)進(jìn)行部署。合約部署界面如圖3-24所示。搭建以太坊開發(fā)環(huán)境合約執(zhí)行在合約部署界面,合約部署成功后向下拉動(dòng),可以看到合約執(zhí)行的相關(guān)信息,單擊合約中的方法執(zhí)行合約,執(zhí)行成功后可以在右側(cè)控制臺(tái)看到返回信息,如圖3-26所示。搭建以太坊開發(fā)環(huán)境在Geth中部署合約合約編譯完成后會(huì)產(chǎn)生兩個(gè)文件:"ABI”和“Bytecode",我們?cè)诿钚兄胁渴鸷霞s時(shí)需要使用到這兩個(gè)文件中的內(nèi)容。執(zhí)行合約helloworld這個(gè)合約中有兩個(gè)函數(shù):helloworld(函數(shù)和say(函數(shù)。sayO函數(shù)的功能是在命令行中顯示msg的值,因此可以使用這個(gè)函數(shù)在命令行中執(zhí)行合約。搭建以太坊開發(fā)環(huán)境填寫任務(wù)評(píng)價(jià)表,如表3-5所示。搭建以太坊開發(fā)環(huán)境歸納總結(jié):搭建以太坊開發(fā)環(huán)境謝謝觀看區(qū)塊鏈平臺(tái)部署高等職業(yè)教育新目錄新專標(biāo)電子與信息大類教材區(qū)塊鏈部署與運(yùn)維第四章01初識(shí)FISCOBCOS在實(shí)際區(qū)塊鏈平臺(tái)部署中,常會(huì)用到FISCOBCOS平臺(tái),因此首先需要了解聯(lián)盟鏈底層平臺(tái)FISCOBCOS在實(shí)際開發(fā)中的作用及相關(guān)架構(gòu)。任務(wù)場(chǎng)景初識(shí)FISCOBCOSFISCOBCOS背景FISCOBCOS的發(fā)起單位FISCO金鏈盟(深圳市金融區(qū)塊鏈發(fā)展促進(jìn)會(huì))是國(guó)內(nèi)最大的聯(lián)盟鏈組織,于2016年5月31日正式成立,是一個(gè)非營(yíng)利組織。FISCOBCOOS金鏈盟由微眾銀行等20余家金融機(jī)構(gòu)和科技企業(yè)共同發(fā)起,目前已囊括金融機(jī)構(gòu)、科技公司、高等院校等多個(gè)領(lǐng)域的110余家機(jī)構(gòu)。初識(shí)FISCOBCOSFISCOBCOS是由國(guó)內(nèi)企業(yè)主導(dǎo)研發(fā)、對(duì)外開源、安全可控的金融級(jí)區(qū)塊鏈底層平臺(tái),由金鏈盟開源工作組協(xié)作打造,并于2017年正式對(duì)外開源。FISCOBCOS以聯(lián)盟鏈的實(shí)際需求為出發(fā)點(diǎn),提供了可視化的中間件工具(WeBASE),大幅縮短了建鏈、開發(fā)、部署應(yīng)用的時(shí)間。截至2020年5月,F(xiàn)ISCOBCOS匯聚了超1000家企業(yè)及機(jī)構(gòu),逾萬(wàn)名社區(qū)成員參與共建共治,已發(fā)展成為最大最活躍的國(guó)產(chǎn)開源聯(lián)盟鏈生態(tài)圈。初識(shí)FISCOBCOSFISCO開源自研區(qū)塊鏈技術(shù)方案如圖4-1所示。初識(shí)FISCOBCOSWeIdentity是基于區(qū)塊鏈的分布式多中心技術(shù)解決方案,提供分布式實(shí)體身份標(biāo)識(shí)及管理、可信數(shù)據(jù)交換協(xié)議等一系列的基礎(chǔ)層與應(yīng)用接口,可實(shí)現(xiàn)實(shí)體對(duì)象(人或物)數(shù)據(jù)的安全授權(quán)與交換。WeEvent是一套分布式事件驅(qū)動(dòng)架構(gòu),實(shí)現(xiàn)了可信、可靠、高效的跨機(jī)構(gòu)、跨平臺(tái)事件通知機(jī)制,可在不改變已有商業(yè)系統(tǒng)的開發(fā)語(yǔ)言、接入?yún)f(xié)議的情況下,實(shí)現(xiàn)跨機(jī)構(gòu)、跨平臺(tái)的事件通知與處理。初識(shí)FISCOBCOSWeBASE(WeBankBlockchainApplicationSoftwareExtension)是在區(qū)塊鏈應(yīng)用和底層節(jié)點(diǎn)之間搭建的中間件平臺(tái)。WeBASE邏輯架構(gòu)如圖4-2所示。初識(shí)FISCOBCOSFISCOBCOS的邏輯架構(gòu)分為基礎(chǔ)層、互聯(lián)核心層、鏈核心層、管理層和接口層,如圖4-3所示。初識(shí)FISCOBCOSFISCOBCOS簡(jiǎn)介基礎(chǔ)層提供區(qū)塊鏈的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)和算法庫(kù),包括密碼學(xué)算法、隱私算法等。鏈核心層主要實(shí)現(xiàn)區(qū)塊鏈的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)存儲(chǔ),采用了不同的數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)區(qū)塊數(shù)據(jù)?;ヂ?lián)核心層實(shí)現(xiàn)了區(qū)塊鏈的基礎(chǔ)P2P網(wǎng)絡(luò)通信、共識(shí)機(jī)制和區(qū)塊同步機(jī)制等。“”初識(shí)FISCOBCOS相對(duì)于區(qū)塊鏈基礎(chǔ)架構(gòu),F(xiàn)ISCOBCOS細(xì)分出了管理層,用于實(shí)現(xiàn)區(qū)塊鏈的管理功能,如參數(shù)配置、賬本管理等。接口層主要對(duì)應(yīng)的是應(yīng)用層,面向區(qū)塊鏈用戶,提供交互式控制臺(tái)、各類應(yīng)用接口等。初識(shí)FISCOBCOS填寫任務(wù)評(píng)價(jià)表,如表4-1所示。初識(shí)FISCOBCOS02FISCOBCOS網(wǎng)絡(luò)部署任務(wù)場(chǎng)景在FISCOBCOS中搭建部署各個(gè)節(jié)點(diǎn),掌握buildchain.sh腳本開發(fā)部署工具的使用,掌握使用FISCOBCOSgenerator運(yùn)維部署工具搭建多群組聯(lián)盟鏈的方法。FISCOBCOS網(wǎng)絡(luò)部署任務(wù)布置:(1)學(xué)習(xí)FISCOBCOS部署工具的使用。(2)掌握FISCOBCOS網(wǎng)絡(luò)搭建方法。FISCOBCOS網(wǎng)絡(luò)部署buildchain.sh腳本是FISCOBCOS的開發(fā)部署工具,它可以幫助用戶快速搭建FISCOBCOS聯(lián)盟鏈。FISCOBCOSgenerator是運(yùn)維部署工具,它可以幫助企業(yè)用戶部署、管理和監(jiān)控多機(jī)構(gòu)多群組聯(lián)盟鏈。FISCOBCOS部署工具FISCOBCOS網(wǎng)絡(luò)部署build_chain.sh腳本可以快速生成一條鏈中節(jié)點(diǎn)的配置文件,該腳本的功能如下(見圖4-4)。FISCOBCOS網(wǎng)絡(luò)部署buildchain.sh-1:-1選項(xiàng)可以指定生成鏈時(shí)節(jié)點(diǎn)的IP和數(shù)目。buildchain.sh-f:f選項(xiàng)可以使用指定格式的配置文件,創(chuàng)建復(fù)雜業(yè)務(wù)場(chǎng)景FISCOBCOS鏈。build_ehain.sh-p:-p選項(xiàng)可以指定生成節(jié)點(diǎn)時(shí)的端口。FISCOBCOS網(wǎng)絡(luò)部署如圖4-5所示這條命令中,就用1選項(xiàng)指定了節(jié)點(diǎn)IP為“127.0.0.1”,生成節(jié)點(diǎn)個(gè)數(shù)為“4”;用-p選項(xiàng)指定了節(jié)點(diǎn)端口為“30300、20200、8545”,其中每個(gè)節(jié)點(diǎn)的端口號(hào)默認(rèn)從30300開始遞增,所有節(jié)點(diǎn)屬于同一個(gè)機(jī)構(gòu)和群組。FISCOBCOS網(wǎng)絡(luò)部署01020304當(dāng)運(yùn)行由build_chain.sh生成的區(qū)塊鏈節(jié)點(diǎn)時(shí),會(huì)自動(dòng)創(chuàng)建如下的腳本文件。start_all.sh:?jiǎn)?dòng)當(dāng)前目錄下的所有節(jié)點(diǎn)。stop_all.sh:停止當(dāng)前目錄下的所有節(jié)點(diǎn)。download_console.sh:下載console控制臺(tái)的腳本。FISCOBCOS網(wǎng)絡(luò)部署2.FISCOBCOSgenerator運(yùn)維部署工具FISCOBCOSgenerator為企業(yè)用戶提供了部署、管理和監(jiān)控多機(jī)構(gòu)多群組聯(lián)盟鏈的便捷工具,如圖4-7所示為多機(jī)構(gòu)多群組聯(lián)盟鏈結(jié)構(gòu)。FISCOBCOS網(wǎng)絡(luò)部署數(shù)字證書和私鑰在聯(lián)盟鏈中,多個(gè)對(duì)等機(jī)構(gòu)之間是不完全信任的,類似于多個(gè)企業(yè)合作時(shí),企業(yè)不會(huì)把所有數(shù)據(jù)都進(jìn)行共享。群組初始化群組初始化過程中需要多個(gè)節(jié)點(diǎn)協(xié)商生成創(chuàng)世區(qū)塊,創(chuàng)世區(qū)塊中包含節(jié)點(diǎn)身份信息,這個(gè)身份信息需要通過交換數(shù)字證書來(lái)構(gòu)建。FISCOBCOS網(wǎng)絡(luò)部署節(jié)點(diǎn)數(shù)字證書實(shí)例如圖4-8所示。FISCOBCOS網(wǎng)絡(luò)部署FISCOBCOSgenerator設(shè)計(jì)了上述問題的解決方案:靈活:無(wú)須安裝;支持多種部署方式,支持多種架構(gòu)改動(dòng)。安全:節(jié)點(diǎn)私鑰不出內(nèi)網(wǎng),機(jī)構(gòu)間只需要協(xié)商證書。易用:支持多種組網(wǎng)模式、多種命令,監(jiān)控審計(jì)腳本。對(duì)等:機(jī)構(gòu)地位對(duì)等,所有機(jī)構(gòu)共同產(chǎn)生創(chuàng)世區(qū)塊,機(jī)構(gòu)對(duì)等地管理所屬群組。FISCOBCOS網(wǎng)絡(luò)部署FISCO

BCOS

generator基本功能如圖4-9所示為generator的基本功能,generator可以更加靈活對(duì)等地對(duì)群組進(jìn)行運(yùn)維管理。FISCOBCOS網(wǎng)絡(luò)部署單群組FISCOBCOS聯(lián)盟鏈搭建單群組FISCOBCOS聯(lián)盟鏈需要用到buildchian.sh開發(fā)部署工具。如圖4-10所示為使用buildchain.sh腳本搭建單群組FISCOBCOS聯(lián)盟鏈的流程。FISCOBCOS網(wǎng)絡(luò)部署FISCOBCOS網(wǎng)絡(luò)搭建多群組FISCOBCOS聯(lián)盟鏈除了單群組聯(lián)盟鏈,還有多群組聯(lián)盟鏈,如圖4-12所示為一個(gè)6節(jié)點(diǎn)3機(jī)構(gòu)2群組的多群組FISCOBCOS聯(lián)盟鏈結(jié)構(gòu),機(jī)構(gòu)B和機(jī)構(gòu)C分別位于群組1和群組2中,機(jī)構(gòu)A、機(jī)構(gòu)C同屬于群組1和群組2中。FISCOBCOS網(wǎng)絡(luò)部署搭建單群組FISCOBCOS聯(lián)盟鏈?zhǔn)紫刃枰B接終端。本任務(wù)使用buildchain.sh腳本進(jìn)行一鍵搭鏈,開發(fā)部署工具build_chain.sh腳本依賴于“opensslcurl”,可以使用以下命令安裝依賴:aptinstall-yopensslcurlFISCOBCOS網(wǎng)絡(luò)部署依賴安裝結(jié)果如圖4-16所示。FISCOBCOS網(wǎng)絡(luò)部署檢查進(jìn)程。無(wú)外網(wǎng)條件下搭建單群組區(qū)塊鏈網(wǎng)絡(luò)。創(chuàng)建操作目錄,下載安裝腳本。搭建單群組4節(jié)點(diǎn)FISCO鏈。啟動(dòng)FISCOBCOS鏈。FISCOBCOS網(wǎng)絡(luò)部署針對(duì)某些場(chǎng)景下無(wú)外網(wǎng)條件下搭鏈,請(qǐng)?zhí)崆皬膅itee鏡像發(fā)布頁(yè)面下載v2.8.0版本目標(biāo)操作系統(tǒng)的二進(jìn)制文件和buildchain.sh腳本文件。上傳fisco-beos.tar.gz和build_ehain.sh文件到目標(biāo)服務(wù)器,需要注意,目標(biāo)服務(wù)器要求64位,要求安裝openssl1.0.2以上版本。解壓fisco-bcos.tar.gz得到fiseo-bcos可執(zhí)行文件,作為e選項(xiàng)的參數(shù)。FISCOBCOS網(wǎng)絡(luò)部署構(gòu)建本機(jī)內(nèi)4個(gè)節(jié)點(diǎn)的FISCOBCOS聯(lián)盟鏈,使用默認(rèn)起始端口30300、20200、8545(4個(gè)節(jié)點(diǎn)會(huì)占用30300-30303、20200-20203、8545-8548端口)。FISCOBCOS網(wǎng)絡(luò)部署填寫任務(wù)評(píng)價(jià)表,如表4-2所示。FISCOBCOS網(wǎng)絡(luò)部署03FISCOBCOS網(wǎng)絡(luò)管理FISCOBCOS聯(lián)盟鏈搭建成功之后,需要對(duì)鏈進(jìn)行管理,包括證書管理和賬號(hào)管理等。任務(wù)場(chǎng)景FISCOBCOS網(wǎng)絡(luò)管理任務(wù)布置:掌握FISCOBCOS證書的生成方法。掌握FISCOBCOS賬號(hào)的創(chuàng)建方法。FISCOBCOS網(wǎng)絡(luò)管理FISCO

BCOS證書機(jī)制證書機(jī)制是聯(lián)盟鏈網(wǎng)絡(luò)安全的基石,鏈上的多方參與是一種協(xié)作關(guān)系,聯(lián)盟鏈向授權(quán)的組織或機(jī)構(gòu)開放,采用準(zhǔn)入機(jī)制。在準(zhǔn)入機(jī)制中,證書是各參與方互相認(rèn)證身份的重要憑證。FISCOBCOS網(wǎng)絡(luò)管理FISCOBCOS網(wǎng)絡(luò)采用面向CA的準(zhǔn)入機(jī)制,使用x509協(xié)議的證書格式,支持任意多級(jí)的證書結(jié)構(gòu),保障信息保密性、認(rèn)證性、完整性、不可抵賴性。FISCOBCOS默認(rèn)采用三級(jí)的證書結(jié)構(gòu),自上而下分別為鏈證書、機(jī)構(gòu)證書、節(jié)點(diǎn)證書。FISCOBCOS網(wǎng)絡(luò)管理證書內(nèi)容包括了證書版本、序列號(hào)、簽名算法、消息摘要算法等生成信息,同時(shí)包括了證書的頒發(fā)者、

溫馨提示

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

評(píng)論

0/150

提交評(píng)論