• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種利用Raspberry 搭建區(qū)塊鏈私有鏈全節(jié)點的方法研究

      2020-11-24 21:56:07牛巖松宗峰
      現(xiàn)代計算機(jī) 2020年19期
      關(guān)鍵詞:以太樹莓新建

      牛巖松,宗峰

      (山東英才學(xué)院信息工程學(xué)院,濟(jì)南250104)

      0 引言

      近期,對于區(qū)塊鏈利有利政策不斷提出,區(qū)塊鏈逐漸成為資本市場的焦點。2019 年10 月份區(qū)塊鏈被提升到戰(zhàn)略高度的層面去發(fā)展;緊接著密碼法出臺,越來越多的地區(qū)開始布局區(qū)塊鏈,但是有一些人可能并不太清楚區(qū)塊鏈概念以及原理,而且在國內(nèi)似乎很少有人利用樹莓派和PC 組建私人區(qū)塊鏈,尤其是在國內(nèi)某些行業(yè)因為缺乏數(shù)據(jù)儲存,以及追溯能力的不足,造成相關(guān)行業(yè)不規(guī)范,在本文中介紹的就是一個利用Rasp?berry 搭建區(qū)塊鏈私有鏈全節(jié)點的方法,希望可以為今后探索區(qū)塊鏈應(yīng)用提供部分思路。

      1 樹莓派簡介以及重裝系統(tǒng)

      1.1 樹莓派簡介

      Raspberry Pi 只有信用卡大小的微型電腦,其系統(tǒng)基于Linux。隨著Windows 10 IoT 的發(fā)布,我們也將可以用上運(yùn)行Windows 的樹莓派。RaspberryPi 配備了一顆ARM11 系列,主頻為700M 的CPU,以SD 卡為內(nèi)存硬盤,卡片主板周圍有兩個USB 接口和一個網(wǎng)口,可連接鍵盤、鼠標(biāo)和網(wǎng)線[1]。同時擁有視頻模擬信號的電視輸出接口和HDMI 高清視頻輸出接口,以上部件全部整合在一張僅比信用卡稍大的主板上,具備所有PC 的基本功能只需接通電視機(jī)和鍵盤,就能執(zhí)行如電子表格、文字處理、玩游戲、播放高清視頻等著多功能。RaspberryPiB 款只提供電腦板,無內(nèi)存、電源、鍵盤、機(jī)箱或連線,考慮到便于普及和成本的問題,又細(xì)分為Model-A 和Model-B 兩個版本。而且樹莓派在改裝成比特幣挖礦機(jī),其在能耗方面的優(yōu)勢將更加凸顯。

      1.2 樹莓派重裝系統(tǒng)

      (1)準(zhǔn)備工作下載樹莓派系統(tǒng),下載Win32 Disk Image,在這里需要注意如果樹莓派已經(jīng)安裝系統(tǒng),則使用DiskGenius 格式化再重新分區(qū),SSH 連接軟件putty、XShell 等。

      使用Win32 Disk Image 安裝系統(tǒng),下載好最新的樹莓派系統(tǒng)后解壓,安裝Win32 Disk Image 工具,并格式化好TF 卡,打開Win32 Disk Image,寫入即可,寫入完成后,將TF 卡插到樹莓派,開機(jī)[2]。

      (2)SSH 連接,將SD 卡連接到電腦打開,在根目錄直接新建“SSH”文件(無后綴)。有線連接,電腦連接Wi-Fi,樹莓派和電腦之間通過網(wǎng)線連接,打開Win?dows 的網(wǎng)絡(luò)和共享中心,勾選允許其他網(wǎng)絡(luò)用戶通過此計算機(jī)的Internet 連接,打開CMD,輸入arp-a 獲得樹莓派IP,獲得IP 地址后使用SSH 連接軟件進(jìn)行連接[3]。

      (3)各個節(jié)點通過編輯/etc/hostname 來修改機(jī)器名稱,通過編輯/etc/dhcpdc.conf 設(shè)置靜態(tài)IP 地址。

      1.3 配置Wi-Fi

      使用命令:sudo raspi-config 進(jìn)行樹莓派配置,進(jìn)入配置頁面后,選擇2.Network Options,選擇國家China,在輸入SSID 和密碼即可,SSID 即為Wi-Fi 名稱。登錄路由器管理界面,查詢樹莓派IP,就可以直接使用Wi-Fi連接樹莓派[1]。

      2 區(qū)塊鏈共識機(jī)制

      2.1 區(qū)塊鏈介紹

      區(qū)塊鏈?zhǔn)且环N以密碼學(xué)方式保證的不可篡改和不可偽造的分布式賬本。區(qū)塊鏈最早產(chǎn)生于2008 年1月中本聰提出區(qū)塊鏈的概念,再后來出現(xiàn)創(chuàng)世區(qū)塊鏈以及序號為1 的區(qū)塊鏈。區(qū)塊鏈主要特征為去中心化、開放性、獨立性、信息不可篡改、匿名性,區(qū)塊鏈的核心技術(shù)包括分布式賬本,對稱加密和授權(quán)技術(shù),共識機(jī)制,智能合約[4]。在從長遠(yuǎn)的角度來看,數(shù)字貨幣交易完成了向全球交易平臺的轉(zhuǎn)移,在未來的數(shù)字貨幣將成為不可阻擋的歷史潮流,而在現(xiàn)實中,區(qū)塊鏈的大規(guī)模應(yīng)用存在許多瓶頸,因此也是受到很多人的質(zhì)疑。

      2.2 共識機(jī)制比較選擇

      (1)PoW(Proof-of-Work)

      PoW 最著名的應(yīng)用就是比特幣以及以太坊和一些其他基于PoW 協(xié)議的貨幣。其最大的缺點是會面臨51%以上的攻擊,但由于區(qū)塊鏈?zhǔn)遣豢勺兊?,但是可以通過拒絕服務(wù),來使得無法正常運(yùn)行,并且需要消耗大量的算力大量的電力,并不適合樹莓派來搭建,PoW 協(xié)議更多的適用于公鏈[4]。

      (2)PoS(Proof-of-Stake)

      PoS 要求證明人提供一定數(shù)量加密貨幣的所有權(quán),此機(jī)制會根據(jù)每個節(jié)點擁有代幣的比例和時間,依據(jù)算法等比例降低節(jié)點的挖礦難度,從而加快了尋找隨機(jī)數(shù)的速度[4]。這種機(jī)制相較于PoW 來說或許是一種好的選擇,但是它本質(zhì)上仍然需要網(wǎng)絡(luò)中的系統(tǒng)但進(jìn)行挖礦運(yùn)算,不能為我們提供我們足夠所需的控制和安全級別。

      (3)PoA(Proof-of-Authority)

      PoA 是相對PoW 和PoS 來說算是一個新概念,在這個概念中,您擁有許多預(yù)先批準(zhǔn)的授權(quán)節(jié)點(即礦工)。您要添加任何新節(jié)點,必須由當(dāng)前已有的礦工投票,這使您可以完全控制哪一些節(jié)點可以做為礦工。以太坊的PoA 協(xié)議稱為Clique,它適用于私鏈,但不適用于公鏈。

      2.3 安裝最新版本go語言

      在go 語言官方網(wǎng)站下載最新版本適合自己操作系統(tǒng)和框架的版本:在https://studygolang.com/dl 下載解壓縮完成后需要設(shè)置添加環(huán)境變量,這里使用Linux。

      vi/etc/profile 在最后面添加以下設(shè)置:

      export GOPATH=/opt/gopath

      export GOROOT=/usr/lib/go

      export GOARCH=386

      export GOOS=linux

      export GOTOOLS=$GOROOT/pkg/tool

      export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

      執(zhí)行source/etc/profile。

      2.4 Go-ethereum客戶端安裝

      Go-ethereum 客戶端通常稱為Geth,它是個命令行界面,執(zhí)行在Go 上實現(xiàn)的完整以太坊節(jié)點。Geth 得益于Go 語言的多平臺特性,支持在多個平臺上使用(例如 Windows、Linux、Mac)。Geth 是以太坊協(xié)議的具體落地實現(xiàn),通過Geth,可以實現(xiàn)POA 協(xié)議的部署和執(zhí)行[5]。

      在 Geth 官網(wǎng)(https://geth.ethereum.org/downloads/)下載自己操作系統(tǒng)和框架匹配的版本:

      在此需要注意的是,有官方提供的二進(jìn)制安裝包,直接下載解壓就可以使用。而在Linux 下可以將Geth所在的目錄添加到環(huán)境變量,或者直接sudo mv geth/usr/bin。

      Go-ethereum 客戶端安裝環(huán)境:

      Apt install golang-y

      Apt-get install-y build-essential

      在Raspberry 下載Go 相應(yīng)版本的源碼,編譯過程在其中一臺設(shè)備上進(jìn)行即可,其余設(shè)備可通過WinScp上傳再執(zhí)行完成。

      2.5 創(chuàng)建簽名賬戶

      因為樹莓派的內(nèi)存比較小,新建賬戶的時候可能會出現(xiàn)out of memory 的情況,所以在啟動節(jié)點前新建賬戶,減少新建賬戶的內(nèi)存使用量。在這里進(jìn)入到需要新建節(jié)點的目錄,cd 指令切換到相應(yīng)目錄,出現(xiàn)geth--datadir.pichain account new 按照指示輸入密碼。

      在每個節(jié)點上運(yùn)行g(shù)eth--datadir node account new創(chuàng)建賬戶,需要注意的是要保存密碼,同時記住個節(jié)點賬戶(后續(xù)啟動賬戶需要)[6]。

      3 搭建私有鏈

      3.1 創(chuàng)建創(chuàng)世文件

      利用編譯生成的客戶端交互工具puppeth 可以生成創(chuàng)世塊文件。在這里需要用到上面的賬戶代碼,同時需要記住網(wǎng)絡(luò)ID。直接運(yùn)行./puppeth 按照提示選擇即可,最后生成poa_test.json 文件。

      3.2 私有鏈節(jié)點初始化

      準(zhǔn)備好JSON 配置文件后,進(jìn)行初始化區(qū)塊鏈,將創(chuàng)世區(qū)塊信息寫入到區(qū)塊鏈中。第一步是進(jìn)行新建一個目錄data()用來存放區(qū)塊鏈數(shù)據(jù),在這里目錄data()相當(dāng)于一個根節(jié)點[6]。

      將上面生成的poa_test.json 文件通過WinScp 上傳到各節(jié)點/home/deling.json,執(zhí)行 geth--datadir node init deling.json 來進(jìn)行初始化。

      3.3 啟動私有鏈節(jié)點

      需要注意的是這時要使用全同步模式,就是--syn?cmode full,不然的話后續(xù)和服務(wù)器連接同步時可能會出錯。首次啟動節(jié)點是獲得節(jié)點enodeid,節(jié)點這里初始化完成后還未建立連接,因此會顯示Signed recently,must wait for others。

      3.4 首次啟動節(jié)點完成后的調(diào)整

      需要注意的是直接啟動節(jié)點時會報錯,在這里需要將生成的key 復(fù)制到datadir 中的keystore,然后分別在每臺機(jī)器上運(yùn)行,在這里分別記錄下各節(jié)點的地址,編輯為.json 文件,保存起來。

      4 結(jié)語

      本文詳細(xì)介紹了基于樹莓派來搭建區(qū)塊鏈私有鏈的方法,在文中介紹對比了區(qū)塊鏈幾種共識機(jī)制,最終采用PoA 協(xié)議來搭建私有鏈,通過Go 語言以及Geth的運(yùn)用,來實現(xiàn)以太坊協(xié)議的具體實現(xiàn)來完成PoA 協(xié)議的部署和執(zhí)行,最終實現(xiàn)了私有鏈的搭建,該區(qū)塊鏈的搭建解決了國內(nèi)某些行業(yè)因為缺乏數(shù)據(jù)儲存和追溯能力的不足的問題,希望可以為今后探索區(qū)塊鏈應(yīng)用提供部分思路。

      猜你喜歡
      以太樹莓新建
      以太極為旗,開啟新時代“黃河大合唱”
      少林與太極(2023年7期)2023-08-25 05:27:52
      Spin transport properties in ferromagnet/superconductor junctions on topological insulator
      重慶三年新建農(nóng)村公路6.26×10~4 km
      石油瀝青(2022年3期)2022-08-26 09:13:40
      基于樹莓派的騎行智能頭盔設(shè)計
      電子制作(2019年11期)2019-07-04 00:34:32
      萬紫蝶、梁新建作品
      車易鏈:做汽車業(yè)的“以太坊”
      汽車觀察(2018年9期)2018-10-23 05:46:24
      曹曙東、溫新建作品
      基于樹莓派的遠(yuǎn)程家居控制系統(tǒng)的設(shè)計
      電子制作(2017年17期)2017-12-18 06:40:43
      響應(yīng)面法優(yōu)化紅樹莓酒發(fā)酵工藝
      中國釀造(2016年12期)2016-03-01 03:08:19
      百通推出入門級快速工業(yè)以太網(wǎng)絡(luò)交換器系列
      左贡县| 廉江市| 太保市| 利辛县| 虹口区| 登封市| 岳池县| 保亭| 巍山| 轮台县| 昌邑市| 蒙阴县| 察雅县| 莱芜市| 菏泽市| 确山县| 尉犁县| 资兴市| 庆云县| 绍兴县| 大同市| 道孚县| 济源市| 望江县| 杭锦后旗| 保亭| 双鸭山市| 壶关县| 西林县| 兴国县| 永兴县| 丹巴县| 类乌齐县| 甘孜县| 本溪| 恩平市| 金堂县| 太谷县| 中阳县| 汝城县| 新兴县|