国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

基于ubuntu16.04快速構(gòu)建Hyperledger Fabric網(wǎng)絡(luò)

sutaking / 3487人閱讀

摘要:如果你的環(huán)境搭建再云服務(wù)器上,例如阿里云或者騰訊云,可以不用更新源,直接在自己的主機(jī)上使用遠(yuǎn)程連接工具連接上云主機(jī),環(huán)境就算完成了若在本地不能連接上云主機(jī),或者虛擬機(jī),檢查一下是否已經(jīng)安裝并啟動若沒有,可以參加網(wǎng)上的教程,配置遠(yuǎn)程連接。

前言

最近在參加一個比賽,使用到了區(qū)塊鏈的開源軟件hyperledger,由于之前從未接觸過區(qū)塊鏈,以及和區(qū)塊鏈開發(fā)相關(guān)的內(nèi)容,所有在網(wǎng)上查閱了大量的資料,并且通過學(xué)習(xí)yeasy(楊寶華)開源的入門書籍區(qū)塊鏈技術(shù)指南以及進(jìn)階學(xué)習(xí)的《區(qū)塊鏈原理、設(shè)計(jì)與應(yīng)用》,對區(qū)塊鏈的一些相關(guān)概念有了一定認(rèn)識。這里記錄的是我安裝hyperledger fabric的所有步驟,同時也是一個快速搭建單機(jī)環(huán)境的參考教程。

準(zhǔn)備好機(jī)器環(huán)境

本人的區(qū)塊鏈網(wǎng)絡(luò)部署在VMware搭建的ubuntu16.04的環(huán)境下(推薦使用該版本的系統(tǒng)),詳細(xì)的系統(tǒng)版本為ubuntu-16.04.4-desktop-amd64.iso ,是從網(wǎng)易開源鏡像站下載的。對于如何使用VMware安裝虛擬機(jī)以及讓虛擬機(jī)訪問網(wǎng)絡(luò),網(wǎng)上有許多教程,這里就不重復(fù)講了。
當(dāng)將系統(tǒng)安裝完成后,需要更換源,使用desktop版的可以直接在設(shè)置里面選擇最佳服務(wù)器,如下圖所示

若使用的是服務(wù)器版本,則可以使用如下命令換成高速的源

先備份原來的源文件

$ sudo cp /etc/apt/source.list /etc/apt/source.list.bak  

打開source.list文件,刪除原來的內(nèi)容

$ sudo vim /etc/apt/source.list

任選下面一組源文件復(fù)制到source.list中

網(wǎng)易源
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse  
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse  
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse  
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse  
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse  
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse  
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse  
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse  
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse  
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse  
阿里源
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted  
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties  
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties  
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties  
deb http://mirrors.aliyun.com/ubuntu/ xenial universe  
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe  
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties  
deb http://archive.canonical.com/ubuntu xenial partner  
deb-src http://archive.canonical.com/ubuntu xenial partner  
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties  
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe  
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse  
搜狐源
deb http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse  
deb http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse  
deb http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse  
deb http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse  
deb http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse  
deb-src http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse  
deb-src http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse  
deb-src http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse  
deb-src http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse  
deb-src http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse 

復(fù)制進(jìn)去后,使用:wq保存,然后使用如下命令更新一下

$ sudo apt-get install update

執(zhí)行完成后環(huán)境就基本上準(zhǔn)備好了,如果使用的是服務(wù)器版本,覺得使用不方便的話,可以使用xshell之類的遠(yuǎn)程連接工具連接你的虛擬機(jī)。如果你的環(huán)境搭建再云服務(wù)器上,例如阿里云或者騰訊云,可以不用更新源,直接在自己的主機(jī)上使用遠(yuǎn)程連接工具連接上云主機(jī),環(huán)境就算完成了(若在本地不能連接上云主機(jī),或者虛擬機(jī),檢查一下ssh是否已經(jīng)安裝并啟動,若沒有,可以參加網(wǎng)上的教程,配置遠(yuǎn)程連接)。

安裝GO語言環(huán)境

不推薦使用apt的方式安裝GO,原因是這樣安裝的版本比較老,推薦安裝最新版的GO,具體安裝命令如下

下載最新的GO安裝包,具體的最新版本號可以從Golang官網(wǎng)上查看

$ wegt https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz

解壓安裝包到/usr/local目錄下

$ sudo tar -C usr/local -xzf go1.10.2.linux-amd64.tar.gz

編輯當(dāng)前用戶的環(huán)境變量

$ vim ~/.profile

添加如下內(nèi)容

export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
#這里配置的GOPATH目錄為家目錄的的go文件夾
export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin

使用:wq保存后使用如下命令將保存立即刷新

$ source ~/.profile

建立GOPATH目錄

由于在環(huán)境變量中配置了GOPATH目錄的位置,所以我們需要在家目錄下創(chuàng)建該文件夾

$ cd ~
$ mkdir go

查看go版本,測試環(huán)境配置是否成功

$ go version
go version go1.10 linux/amd64
安裝Docker

這里使用的Docker的官方文檔來安裝docker

如果系統(tǒng)中有舊版本的Docker,需要先使用如下命令卸載

$ sudo apt-get remove docker docker-engine docker.io

更新apt包索引

$ sudo apt-get update

安裝軟件包以允許apt通過HTTPS使用遠(yuǎn)程庫

$ sudo apt-get install 
    apt-transport-https 
    ca-certificates 
    curl 
    software-properties-common

若出現(xiàn)無法識別命令,可以先將該命令復(fù)制到一個文本文件中,將去掉,將所有語句放在同一行下,然后復(fù)制執(zhí)行。

添加Docker的官方GPG密鑰

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

通過搜索指紋的最后8個字符,確認(rèn)您現(xiàn)在擁有指紋識別碼9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

$ sudo apt-key fingerprint 0EBFCD88

pub   4096R/0EBFCD88 2017-02-22
      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) 
sub   4096R/F273FCD8 2017-02-22

使用以下命令設(shè)置穩(wěn)定版本的遠(yuǎn)程庫

$ sudo add-apt-repository 
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
   $(lsb_release -cs) 
   stable"

再次更新apt包索引

$ sudo apt-get update

使用apt安裝docker-ce

$ sudo apt-get install docker-ce

查看docker版本,測試環(huán)境配置是否成功

$ docker version
Client:
 Version:      18.03.1-ce
 API version:  1.37
 Go version:   go1.9.5
 Git commit:   9ee9f40
 Built:        Thu Apr 26 07:17:20 2018
 OS/Arch:      linux/amd64
 Experimental: false
 Orchestrator: swarm

Server:
 Engine:
  Version:      18.03.1-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.5
  Git commit:   9ee9f40
  Built:        Thu Apr 26 07:15:30 2018
  OS/Arch:      linux/amd64
  Experimental: false

安裝完成之后,需要將當(dāng)前用戶添加到docker用戶組,然后為該用戶添加sudo權(quán)限

若沒有創(chuàng)建docker用戶組,可以使用如下命令創(chuàng)建一個GID999,組名為docker的用戶組

$ sudo groupadd –g 999 docker

將當(dāng)前用戶(ubuntu)添加到docker用戶組并分配sudo權(quán)限

$ sudo usermod -aG docker ubuntu

注銷后重新登錄,然后添加阿里云的Docker Hub鏡像(注意,不同版本的添加方法不同,見阿里云容器 Hub)

$ sudo mkdir -p /etc/docker
$ sudo tee /etc/docker/daemon.json <<-"EOF"
{
    "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

如果覺得阿里云鏡像不好用,可以選擇DaoClound的鏡像,配置方式見DaoCloud官方文檔

安裝Docker-Compose

Docker-Compose是支持通過模板腳本批量創(chuàng)建的一個組件。在安裝 Docker-Compose之前,需要安裝python-pip

安裝python-pip

$ sudo apt-get python-pip

下載 Docker-Compose,這里使用的是國內(nèi)的DaoClound加速器進(jìn)行下載

$ curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose

Docker-Compose文件夾移動到/usr/local/bin目錄下

$ sudo mv ~/docker-compose /usr/local/bin/docker-compose 

Docker-Compose附上可執(zhí)行權(quán)限

$ chmod +x /usr/local/bin/docker-compose
下載Fabric源碼

先在GOPATH下創(chuàng)建對應(yīng)的目錄

$ mkdir -p ~/go/src/github.com/hyperledger

切換到對應(yīng)目錄,使用Git命令將fabric的源碼從github上克隆下來

$ cd ~/go/src/github.com/hyperledger
$ git clone https://github.com/hyperledger/fabric.git

由于Fabric一直在更新,而我們并不需要使用最新的源碼,所有將版本切換到v1.0.0

$ cd ~/go/src/github.com/hyperledger/fabric
$ git checkout v1.0.0
下載Fabric Docker鏡像

由于剛才設(shè)置了Docker Hub鏡像的地址,并且官方文件中也提供了批量下載的腳本,所有我們只需運(yùn)行下面命令即可

$ cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
$ source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

由于剛才設(shè)置的是國內(nèi)的鏡像站,在本地網(wǎng)速還不錯的情況下下載數(shù)度還是很快的。當(dāng)下載完成后,使用如下命令檢查鏡像列表

$ docker images
REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
dev-peer0.org1.example.com-marbles-v4   latest              089d43e100c9        5 hours ago         173MB
dev-peer0.org1.example.com-fabcar-1.0   latest              6047921ee993        7 hours ago         173MB
hyperledger/fabric-tools                latest              0403fd1c72c7        10 months ago       1.32GB
hyperledger/fabric-tools                x86_64-1.0.0        0403fd1c72c7        10 months ago       1.32GB
hyperledger/fabric-couchdb              latest              2fbdbf3ab945        10 months ago       1.48GB
hyperledger/fabric-couchdb              x86_64-1.0.0        2fbdbf3ab945        10 months ago       1.48GB
hyperledger/fabric-kafka                latest              dbd3f94de4b5        10 months ago       1.3GB
hyperledger/fabric-kafka                x86_64-1.0.0        dbd3f94de4b5        10 months ago       1.3GB
hyperledger/fabric-zookeeper            latest              e545dbf1c6af        10 months ago       1.31GB
hyperledger/fabric-zookeeper            x86_64-1.0.0        e545dbf1c6af        10 months ago       1.31GB
hyperledger/fabric-orderer              latest              e317ca5638ba        10 months ago       179MB
hyperledger/fabric-orderer              x86_64-1.0.0        e317ca5638ba        10 months ago       179MB
hyperledger/fabric-peer                 latest              6830dcd7b9b5        10 months ago       182MB
hyperledger/fabric-peer                 x86_64-1.0.0        6830dcd7b9b5        10 months ago       182MB
hyperledger/fabric-javaenv              latest              8948126f0935        10 months ago       1.42GB
hyperledger/fabric-javaenv              x86_64-1.0.0        8948126f0935        10 months ago       1.42GB
hyperledger/fabric-ccenv                latest              7182c260a5ca        10 months ago       1.29GB
hyperledger/fabric-ccenv                x86_64-1.0.0        7182c260a5ca        10 months ago       1.29GB
hyperledger/fabric-ca                   latest              a15c59ecda5b        10 months ago       238MB
hyperledger/fabric-ca                   x86_64-1.0.0        a15c59ecda5b        10 months ago       238MB
hyperledger/fabric-baseos               x86_64-0.3.1        4b0cab202084        12 months ago       157MB

出現(xiàn)以上結(jié)果說明鏡像已經(jīng)下載成功

啟動Fabric網(wǎng)絡(luò)并運(yùn)行e2e_cli項(xiàng)目

進(jìn)入e2e_cli目錄,并執(zhí)行啟動命令

$ cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
$ ./network_setup.sh up

這個過程做了如下操作

1.編譯生成Fabric公私鑰,證書的程序,程序在目錄:fabric/release/linux-amd64/bin

2.基于configtx.yaml生成創(chuàng)世區(qū)塊和通道相關(guān)信息,并保存到channel-artifacts文件夾中

3.基于crypto-config.yaml生成公私鑰和證書信息,并保存在crypto-config文件夾中

4.基于docker-compose-cli.yaml啟動1 Orderer + 4 Peer + 1 CLIFabric容器

5.在CLI啟動的時候,會運(yùn)行srcipt/script.sh文件,這個腳本文件包含了創(chuàng)建Channel,加入Channel,安裝Example02,運(yùn)行Example02等功能

最后運(yùn)行完成,我們會看到如下截圖,說明網(wǎng)絡(luò)啟動成功了

手動測試一下Fabric網(wǎng)絡(luò)

我們以安裝好的Example02進(jìn)行測試,在官方例子中,channel的名字是mychannel,鏈碼的名字是mycc,我們首先重新打開一個命令行,然后進(jìn)入CLI

輸入以下命令即可

$ docker exec -it cli bash

運(yùn)行以下命令可以查詢a賬戶的余額

$ peer chaincode query -C mychannel -n mycc -c "{"Args":["query","a"]}"

查詢結(jié)果如下圖所示

可以看到a賬戶的余額現(xiàn)在是90

運(yùn)行以下命令可以查詢b賬戶的余額

$ peer chaincode query -C mychannel -n mycc -c "{"Args":["query","b"]}"

查詢結(jié)果如下圖所示

可以看到b賬戶的余額現(xiàn)在是210

現(xiàn)在將b賬戶的余額轉(zhuǎn)100給a賬戶,運(yùn)行如下命令

peer chaincode invoke -o orderer.example.com:7050  --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem  -C mychannel -n mycc -c "{"Args":["invoke","b","a","100"]}"

執(zhí)行結(jié)果如下圖所示

可以看到執(zhí)行成功了

再次查詢a賬戶的余額

$ peer chaincode query -C mychannel -n mycc -c "{"Args":["query","a"]}"

查詢結(jié)果如下圖所示

可以看到a賬戶的余額現(xiàn)在是190,比之前多了100

再次查詢b賬戶的余額

$ peer chaincode query -C mychannel -n mycc -c "{"Args":["query","b"]}"

查詢結(jié)果如下圖所示

可以看到b賬戶的余額現(xiàn)在是110,比之前少了100

調(diào)用鏈碼一切正常

關(guān)閉區(qū)塊鏈網(wǎng)絡(luò)

退出CLI容器

root@4941e8bd4bd6:/opt/gopath/src/github.com/hyperledger/fabric/peer# exit

關(guān)閉Fabric網(wǎng)絡(luò)

$ cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
$ ./network_setup.sh down

最后出現(xiàn)如下圖說明關(guān)閉區(qū)塊鏈網(wǎng)絡(luò)成功

總結(jié)

至此,部署以及測試fabric的環(huán)境已經(jīng)全部完成,下一篇博客我將記錄如何在此基礎(chǔ)上部署及運(yùn)行IBM官方區(qū)塊鏈例子marbles(彈珠資產(chǎn))

參考

快速搭建一個Fabric 1.0的環(huán)境

Hyperledger Fabric 1.0 從零開始(五)——運(yùn)行測試e2e

超級賬本搭建流程fabric-sample first-network

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/24075.html

相關(guān)文章

  • 基于ubuntu16.04部署IBM開源區(qū)塊鏈項(xiàng)目-彈珠資產(chǎn)管理(Marbles)

    摘要:協(xié)議的細(xì)節(jié)由一個名為的處理。運(yùn)行下面的腳本來讓所有的事情都發(fā)生一兩分鐘后,命令提示符將返回運(yùn)行結(jié)果如下圖所示現(xiàn)在運(yùn)行該命令查看當(dāng)前正在運(yùn)行的容器。 showImg(https://segmentfault.com/img/bVbazHF?w=709&h=159); 前言 本教程基本上是對Marbles項(xiàng)目的翻譯過程. 如果英文比較好的話,建議根據(jù)官方操作說明,一步步進(jìn)行環(huán)境部署。當(dāng)然你...

    voidking 評論0 收藏0
  • Hyperledger Fabric(入門)

    摘要:腳本列出了在結(jié)束時安裝的映像。在不同的體系結(jié)構(gòu),將用標(biāo)識體系結(jié)構(gòu)的字符串替換。提供了許多來支持各種編程語言,官方發(fā)布了兩款針對和的和文檔。。 入門 在我們開始之前,如果你還沒有這樣做,你可能希望檢查是否已經(jīng)在開發(fā)區(qū)塊鏈應(yīng)用程序和/或運(yùn)行Hyperledger Fabric的平臺上安裝了所有前提條件。 一旦安裝了前提條件,就可以下載并安裝HyperLedger Fabric了,當(dāng)我們在F...

    SKYZACK 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.41 - 深入學(xué)習(xí)區(qū)塊鏈

    摘要:和比特幣協(xié)議有所不同的是,以太坊的設(shè)計(jì)十分靈活,極具適應(yīng)性。超級賬本區(qū)塊鏈的商業(yè)應(yīng)用超級賬本超級賬本是基金會下的眾多項(xiàng)目中的一個。證書頒發(fā)機(jī)構(gòu)負(fù)責(zé)簽發(fā)撤 showImg(https://segmentfault.com/img/bV2ge9?w=900&h=385); 從比特幣開始 一個故事告訴你比特幣的原理及運(yùn)作機(jī)制 這篇文章的定位會比較科普,盡量用類比的方法將比特幣的基本原理講出來...

    qianfeng 評論0 收藏0
  • 阿里云容器服務(wù)區(qū)塊鏈解決方案全新升級 支持Hyperledger Fabric v1.1

    摘要:阿里云容器服務(wù)區(qū)塊鏈解決方案第一時間同步升級,在新功能的基礎(chǔ)上,提供了彈性裸金屬服務(wù)器神龍內(nèi)置容器化集成阿里云日志服務(wù)等方面的增強(qiáng)。 摘要: 全球開源區(qū)塊鏈領(lǐng)域影響最為廣泛的Hyperledger Fabric日前宣布了1.1版本的正式發(fā)布,帶來了一系列豐富的新功能以及在安全性、性能與擴(kuò)展性等方面的顯著提升。阿里云容器服務(wù)區(qū)塊鏈解決方案第一時間同步升級,在v1.1新功能的基礎(chǔ)上,提供了...

    vvpale 評論0 收藏0
  • Hyperledger Fabric(目錄)

    摘要:企業(yè)區(qū)塊鏈平臺企業(yè)級許可的分布式分類賬平臺,為廣泛的行業(yè)用例提供模塊化和多功能性。這些節(jié)點(diǎn)通過應(yīng)用已經(jīng)由共識協(xié)議驗(yàn)證的交易來維護(hù)分類帳的副本,該交易被分組為包括將每個塊綁定到前一個塊的散列的塊中。 企業(yè)區(qū)塊鏈平臺 企業(yè)級許可的分布式分類賬平臺,為廣泛的行業(yè)用例提供模塊化和多功能性。 介紹 一般而言,區(qū)塊鏈?zhǔn)且粋€不可變的交易分類賬,維護(hù)在一個分布式對等節(jié)點(diǎn)網(wǎng)絡(luò)中。這些節(jié)點(diǎn)通過應(yīng)用已經(jīng)由共...

    trigkit4 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<