記錄自己第一次搭建本地fabric框架

_清風拂山崗發表於2021-03-07

寫在前,第一次搭建fabric框架,對於小白的我很是艱辛,參考了很多博主的部落格才最終完成,在此記錄一下搭建過程。

參考的網站

https://blog.csdn.net/smallone233/article/details/86569536
https://blog.csdn.net/Sun_Hui_/article/details/100928155
https://www.cnblogs.com/cbkj-xd/p/11067790.html
https://blog.csdn.net/qq_41547659/article/details/108190245

一.前期準備

1.系統軟體源改為 aliyun

方法:進入system setting 然後點選software and update,修改download from
在這裡插入圖片描述

#先更新apt-get     
#apt-get可以用於運作deb包(debian系統:unbuntu)
#yum可以用於運作rpm包(redhat系統:centos)
sudo apt-get update
#安裝vim          
sudo apt-get install vim
#安裝git            
sudo apt-get install git
#安裝curl          
sudo apt-get install curl #在命令列中利用URL進行資料或者檔案傳輸
#安裝wget        
sudo apt-get install wget #wget不是安裝方式,它是一種下載工具,類似於迅雷。

2.安裝GO

2.1下載安裝包

cd ~  //進入到根目錄下
wget https://studygolang.com/dl/golang/go1.14.linux-amd64.tar.gz    //這裡我下載的是1.14版本
tar -xzf go1.14.linux-amd64.tar.gz    //解壓
sudo mv go /usr/local    //移動

2.2配置環境
編輯配置檔案

vim /etc/profile

將環境變數加入

export  PATH=$PATH:/usr/local/go/bin #可執行檔案存放
export  GOROOT=/usr/local/go #安裝目錄
export  GOPATH=$HOME/go #工作目錄
export  PATH=$PATH:$HOME/go/bin #新增PATH路徑

儲存配置檔案

source /etc/proflie
go version #執行命令如果看到go的版本號,說明已經安裝好了

3.docker安裝

3.1解除安裝舊版本的Docker,沒安裝的就跳過此步

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

3.2開始安裝

sudo apt-get update
#下載安裝工具
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    software-properties-common
#新增官方金鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
#加入 apt 倉庫中
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
#下載docker-ce
sudo apt-get update #apt-get update是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,這樣才能獲取到最新的軟體包。
sudo apt-get install docker-ce

完成上面操作之後輸入

docker version #檢視版本資訊

輸出下面資訊

Client: Docker Engine - Community
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:59 2020
OS/Arch: linux/amd64
Experimental: false
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/version: dial unix /var/run/docker.sock: connect: permission denied

此時已經安裝好Docker了,但是還需要一些小操作。因為普通使用者沒有許可權 。

sudo groupadd docker    #建立docker組
sudo usermod -aG docker XXX #(XXX是當前使用者名稱) 

下面新增阿里雲的Docker映象:

sudo vim /etc/docker/daemon.json 
#將以下內容寫入daemon.json
{
 "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
#接下來輸入:
sudo systemctl daemon-reload 
sudo systemctl restart docker 
docker version

如果還有許可權不足提示,輸入:

sudo chmod -R 777 /var/run/docker.sock

正確的結果:

Client: Docker Engine - Community
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:59 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:01:30 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683

到此docker安裝完畢

4.docker-compose安裝

docker-compose 是支援通過模板指令碼批量建立 docker 容器的一個元件

#首先需要安裝pip
sudo apt-get install python-pip 
#更新pip
pip install --upgrade pip
#通過pip下載docker-compose
sudo pip install docker-compose 
#檢視版本
docker-compose -version   
docker-compose version 1.26.2, build unknown #出現就表示安裝完成

二.fabric框架搭建

首先建立資料夾

cd ~
mkdir -p go/src/github.com/hyperledger/
#進入剛剛建立的資料夾內
cd go/src/github.com/hyperledger/

下載 fabric 原始碼:

git clone https://github.com/hyperledger/fabric.git

將 fabric 切換至 1.4 版本:

cd fabric
git branch -a
#git checkout release-1.4
git checkout v1.4.2 #我選的1.4.2版本

下載所需的映象

#進入到指定目錄
cd ~/go/src/github.com/hyperledger/fabric/scripts
#自動下載對應版本所需要的映象
sudo ./bootstrap.sh #這裡由於網路原因只下載了fabric-samples

bootstrap.sh實際上幫我們作了如下幾件事情:

  1. 從github上克隆 hyperledger/fabric-samples並進入該目錄,然後檢出適當的版本
  2. 在fabric-samples目錄下安裝特定平臺的 Hyperledger Fabric 二進位制可執行檔案bin 和配置檔案config
  3. 下載 指定版本的Hyperledger Fabric 的docker映象

具體可以看這篇:Fabric 環境搭建時bootstrap.sh幫我們做了什麼?

但是由於網路問題,Fabric的二進位制可執行檔案和配置檔案無法下載,此時進行手動安裝


wget https://github.com/hyperledger/fabric/releases/download/v1.4.2/hyperledger-fabric-linux-amd64-1.4.2.tar.gz

wget https://github.com/hyperledger/fabric-ca/releases/download/v1.4.2/hyperledger-fabric-ca-linux-amd64-1.4.2.tar.gz

tar xzvf hyperledger-fabric-linux-amd64-1.4.2.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/
tar xzvf hyperledger-fabric-ca-linux-amd64-1.4.2.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/

#向/etc/profile中寫入環境變數
export PATH=$GOPATH/src/github.com/hyperledger/fabric/scripts/fabric-samples/bin:$PATH

#使環境變數生效
source /etc/profile

下面下載Fabric的docker映象

sudo ./bootstrap.sh -b -s 

在這裡插入圖片描述
至此,fabric1.4.2的環境安裝完成,完成上面的操作,就可以啟動第一個fabric網路了。

#進入first-network資料夾
cd ~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network/
#建立第一個 channel(myfirstchannel 為通道名稱,不寫預設為 mychannel,可以自己定義):
sudo ./byfn.sh -m generate -c myfirstchannel
#執行命令啟動
sudo ./byfn.sh up

如果最後輸出內容為

===================== Query successful on peer1.org2 on channel 'mychannel' ===================== 

========= All GOOD, BYFN execution completed =========== 


 _____   _   _   ____   
| ____| | \ | | |  _ \  
|  _|   |  \| | | | | | 
| |___  | |\  | | |_| | 
|_____| |_| \_| |____/  

說明我們的fabric網路已經成功搭建完畢。

#最後執行以下命令關閉網路
./byfn.sh down

到此,unbuntu16.04搭建單機的fabric1.4.2環境到此完成,謝謝大家觀看。

相關文章