我們在這裏將利用Hyperledger Fabric最新版本v2.0.0 Beta,創建一個區塊鏈供應鏈金融項目,實現應收賬款、承兌匯票、合同融資功能。出於學習目的,我們將Hyperledger Fabric安裝在Virtualbox虛擬機中,操作系統爲ubuntu 18.04。
在本篇博文中,我們將介紹Hyperledger Fabric的安裝。
開發環境準備
首先安裝Git:sudo apt-get install git,通常Ubuntu中已經安裝了最新版本的Git。
安裝curl:sudo apt-get install curl,通常Ubuntu中已經安裝了最新版本的curl。
允許ssh遠程登錄
運行命令:sudo vim /etc/ssh/sshd_config,在其中加入:
PermitRootLogin yes
重新啓動服務即可:sudo service ssh restart。
啓動虛擬機Wifi
我們使用virtualbox虛擬機,如果在ubuntu安裝時沒有加無線網卡,可以按照下面步驟配置無線網卡,首先安裝所需軟件:
sudo apt-get install wpasupplicant
sudo apt-get install network-manager
運行:sudo vim /etc/netplan/50-cloud-init.yaml,添加如下內容:
# network: {config: disabled}
network:
renderer: NetworkManager
ethernets:
enp0s3:
dhcp4: true
wifis:
enp0s8:
dhcp4: true
access-points:
"wifi_name":
password: "wifi_password"
version: 2
然後啓動無線網卡:
sudo netplan generate
sudo netplan apply
運行如下命令查看系統版本:
cat /etc/lsb-release
配置虛擬機共享目錄
在virtualbox設置界面中,添加一個目錄作爲共享目錄,如下所示:
在ubuntu系統中安裝如下工具:
sudo apt install nfs-common
sudo apt-get install virtualbox-guest-utils
這時再啓動時,就可以通過/media/sf_scfdir來訪問到共享文件夾中的內容。
安裝配置docker
卸載已經安裝的版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
更新apt包:
sudo apt-get update
切換到root權限:sudo -i
安裝軟件:
apt-get install \
> apt-transport-https \
> ca-certificates \
> curl \
> software-properties-common
添加Docker官方的GPG密鑰:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
添加新的更新源:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
更新apt源:apt-get update
安裝docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io
啓動docker:
sudo systemctl start docker
將用戶加入到docker組:
sudo usermod -a -G docker yantao
安裝docker-compose:
apt-get install docker-compose
安裝go語言開發環境
下載最新版本go安裝包:https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz,運行如下命令:
tar -xzvf go1.13.5.linux-amd64.tar.gz
sudo mv ./go /usr/local/.
sudo chmod 777 -R /usr/local/go
編輯profile文件:sudo vim /etc/profiles,添加如下內容:
export GOPATH=/home/yantao/scf/go
export GOROOT=/usr/local/go
export GOARCH=amd64
export GOOS=linux
export GOTOOLS=$GOROOT/pkg/tool
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
使文件內容生效:sudo source /etc/profile
此時可以查看go語言版本:go version
編序一個go程序t1.go:
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
運行該程序:go run t1.go
生成可執行文件:go build t1.go
如果運行上述命令不報錯,就證明Go語言開發環境已經安裝完成。注意:Go語言網站經常會出現上不去的情況,請大家使用科學上網的方法來解決。
安裝Nodejs
下載最新版本nodejs源碼文件,以源碼方式編譯安裝:
wget https://nodejs.org/dist/latest-v13.x/node-v13.5.0.tar.gz
tar -xzvf node-v13.5.0.tar.gz
sudo apt-get install build-essential
sudo apt-get install python3-distutils
./configure
make
make install
cp /usr/local/bin/node /usr/sbin/
node -v
最後設置
git config --global core.autocrlf false
git config --global core.longpaths true
npm install -g npm
npm install grpc
安裝go的grpc:
git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc
git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net
git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
git clone https://github.com/google/go-genproto.git $GOPATH/src/google.golang.org/genproto
cd $GOPATH/src/
go install google.golang.org/grpc
安裝Hyperledger Fabric的docker鏡像
下載安裝腳本:
wget https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh
chmod 777 bootstrap.sh
安裝特定版本的Hyperledger Fabric:
./bootstrap.sh -s -- 2.0.0-beta 1.4.4 0.4.18
git clone https://github.com/hyperledger/fabric-samples