第一章 九析帶你輕鬆完爆 fabric 區塊鏈安裝

目錄python

1 前言linux

2 操做系統環境設置git

    2.1 主機與操做系統github

    2.2 設置主機名golang

    2.3 設置 DNSdocker

    2.4 關閉防火牆json

    2.5 關閉 selinuxbootstrap

    2.6 關閉 swapcentos

3 操做系統軟件安裝網絡

4 安裝 docker

5 安裝 docker-compose

    5.1 jsonschema 版本不匹配

    5.2 cffi 版本不匹配

    5.3 dnspython 版本不匹配

    5.4 python-ldap 版本不匹配

    5.5  subprocess32 卸載失敗

6 安裝配置 go

    6.1 安裝 go

    6.2 配置 go

7 下載 fabric 源碼


1 前言

        本文介紹如何手動部署 fabric 區塊鏈,經過 fabric 的搭建來了解區塊鏈的網絡結構和組件運用。


2 操做系統環境設置

        除 2.2 外,其餘每臺主機都須要執行以下步驟。

2.1 主機與操做系統

        本區塊鏈須要三臺主機。底層操做系統爲 centos7。

2.2 設置主機名

        三臺主機的主機名分別爲 peer0.example.com、peer1.example.com、peer2.example.com。

hostnamectl set-hostname peer0.example.com

hostnamectl set-hostname peer1.example.com

hostnamectl set-hostname peer2.example.com

2.3 設置 DNS

        三臺主機運行四個節點(其中一臺主機既作 order 節點,也作 peer 節點)。編輯 /etc/hosts:

192.168.182.168 peer0.org1.example.com order.example.com

192.168.182.169 peer1.org1.example.com

192.168.182.170 peer2.org2.example.com

2.4 關閉防火牆

systemctl disable firewalld && systemctl stop firewalld

2.5 關閉 selinux

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

setenforce 0

2.6 關閉 swap

sed -i '$d' /etc/fstab

swapoff -a


3 操做系統軟件安裝

        每臺主機都須要安裝。

yum update

yum install -y git

yum install -y curl

yum install -y epel-release

yum install -y openldap-devel

yum install -y python-devel

yum install -y python-pip

pip install --upgrade pip


4 安裝 docker

        docker 版本 1.13.1。每臺主機都須要安裝。

yum install docker

systemctl enable docker && systemctl start docker

docker version // 驗證是否安裝成功


5 安裝 docker-compose

        docker-compose 版本 1.25.0。每臺主機都須要安裝。

pip install docker-compose

docker-compose version // 驗證是否安裝成功

        若是安裝報錯,能夠參考以下狀況進行修改。

5.1 jsonschema 版本不匹配

ERROR: jsonschema 3.2.0 has requirement six>=1.11.0, but you'll have six 1.9.0 which is incompatible.

        執行以下語句:

pip install six --user -U

pip install ipython --user -U

5.2 cffi 版本不匹配

ERROR: cryptography 2.8 has requirement cffi!=1.11.3,>=1.8, but you'll have cffi 1.6.0 which is incompatible.

        執行以下語句:

pip install cffi --user -U

5.3 dnspython 版本不匹配

ERROR: ipapython 4.6.5 has requirement dnspython>=1.15, but you'll have dnspython 1.12.0 which is incompatible.

        執行以下語句:

pip install dnspython --user -U

5.4 python-ldap 版本不匹配

ERROR: ipapython 4.6.5 has requirement python-ldap>=3.0.0b1, but you'll have python-ldap 2.4.15 which is incompatible.

        執行以下語句:

pip install --upgrade python-ldap --user -U

5.5  subprocess32 卸載失敗

ERROR: Cannot uninstall 'subprocess32'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

        執行以下語句:

pip install docker-compose --ignore-installed subprocess32


6 安裝配置 go

        每臺主機都要安裝和配置 go。

6.1 安裝 go

cd /usr/local

wget https://studygolang.com/dl/golang/go1.13.1.linux-amd64.tar.gz 

tar -xvf go1.13.1.linux-amd64.tar.gz

mkdir -p /workspace // fabric 源碼存放目錄

mkdir -p /workspace/fabric/bin // fabric 目標代碼存放目錄

6.2 配置 go

vi /etc/profile

export GOROOT=/usr/local/go 

export GOPATH=/workspace/fabricexport 

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


7 下載 fabric 源碼

        每臺主機都須要下載 fabric 源碼。

cd /workspace

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

        編輯 /workspace/fabric/scripts/bootstrap.sh,修改 download() 方法,去掉 curl 下載的靜默模式,不然整個下載過程當中,你會看不到任何下載的狀態。

curl -L -s "${URL}" | tar xz || rc=$?

改成:

curl -L "${URL}" | tar xz || rc=$?

        修改完,執行一下 bootstrap.sh 腳本,腳本執行會下載 fabric-sample 代碼和大量鏡像。並且下載過程也可能會時不時被中斷,具體緣由你本身檢討一下,不要尖叫,人生就是這樣,你接受就好。腳本執行完畢,本地就會多出以下的鏡像:spacer.gif1.png

        自此,fabric 安裝成功。下小節將介紹 fabric 的部署。

相關文章
相關標籤/搜索