国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

牛巖松,宗峰

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

0 引言

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

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

1.1 樹莓派簡介

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

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

(1)準備工作下載樹莓派系統(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 卡插到樹莓派,開機[2]。

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

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

1.3 配置Wi-Fi

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

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

2.1 區(qū)塊鏈介紹

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

2.2 共識機制比較選擇

(1)PoW(Proof-of-Work)

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

(2)PoS(Proof-of-Stake)

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

(3)PoA(Proof-of-Authority)

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

2.3 安裝最新版本go語言

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

vi/etc/profile 在最后面添加以下設置:

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)和框架匹配的版本:

在此需要注意的是,有官方提供的二進制安裝包,直接下載解壓就可以使用。而在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 相應版本的源碼,編譯過程在其中一臺設備上進行即可,其余設備可通過WinScp上傳再執(zhí)行完成。

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

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

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

3 搭建私有鏈

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

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

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

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

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

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

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

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

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

4 結語

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

猜你喜歡
以太樹莓新建
探索太空奧秘 還原宇宙本真
以太萬物理論概述
萬紫蝶、梁新建作品
以太坊又爆漏洞黑客大戰(zhàn)一觸即發(fā)
曹曙東、溫新建作品
2016年10月70個大中城市新建住宅價格指數(shù)
黃金水果紅樹莓
樹莓紅了 游人醉了
2016年6月70個大中城市新建住宅價格指數(shù)
e絡盟率先推出第三代樹莓派
黔西| 鲁甸县| 巴青县| 古蔺县| 肃宁县| 郯城县| 察雅县| 包头市| 长宁县| 平泉县| 宁化县| 绥江县| 吉木萨尔县| 永新县| 金溪县| 龙口市| 日喀则市| 鹤岗市| 临西县| 岳普湖县| 两当县| 中方县| 化州市| 永城市| 香河县| 丰顺县| 杭州市| 尉犁县| 砀山县| 板桥市| 启东市| 腾冲县| 鸡西市| 南川市| 南皮县| 崇仁县| 都江堰市| 齐齐哈尔市| 慈利县| 开江县| 嘉祥县|