我们在这里将利用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。
运行命令: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源码文件,以源码方式编译安装:
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