Ubuntu18安装Hyperledger Fabric

本文为vm安装ubuntu虚拟机,如果系统中没有出现网络标志

方案一
sudo service network-manager restart
方案二
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start

//如果执行到以上步骤已经可以上网则忽略下面, 将文件里面唯一的false改成true
sudo gedit /etc/NetworkManager/NetworkManager.conf
sudo service network-manager restart

添加用户sudo权限

1、su root
2、chmod u+w /etc/sudoers
3、vim /etc/sudoers
4、在root ALL=(ALL:ALL) ALL下面添加XXX ALL=(ALL) ALL语句
5、chmod u-w /etc/sudoers

1.安装docker

#sudo apt install docker.io (暂时先不用此版本)
sudo apt install docker
sudo apt install docker-compose
sudo service docker start

2.安装GO

Fabric 2.1版以内可以使用
获取最新的软件包源,并添加至当前的apt库
sudo add-apt-repository ppa:longsleep/golang-backports
更新 apt库
sudo apt-get update
安装新版本
sudo apt-get install golang-go
指定版本
sudo apt-get install golang-1.8-go
不是最新版需要手动添加 sudo cp /usr/lib/go-1.8/bin/go /usr/bin/


Fabric2.2要求使用Go 1.14.6以上(1.14.4时启动多节点orderer会报错)
1. 
go1.14.6
wget https://studygolang.com/dl/golang/go1.14.6.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.14.6.linux-amd64.tar.gz
若按以上方式安装的原版本,删除方式:sudo rm -rf /usr/local/go

2. sudo vim /etc/profile中最后添加 export PATH=$PATH:/usr/local/go/bin
3. source /etc/profile 更新配置
重启后才能一直有效

设置环境变量
vim ~/.bashrc
export GOPATH="/home/dev/go" #最后一行加入
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOPATH/bin

source /etc/profile
echo $GOPATH 测试下是否生效

sudo apt install libtool libltdl-dev

3.安装curl和jq

sudo apt install curl

sudo apt-get install jq

4.创建目录

mkdir -p $GOPATH/src/github.com/hyperledger
cd $GOPATH/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric
如需切换版本git tag查看所有版本
git checkout v1.X 切换

5.安装依赖包(此条废弃)

go env -w GO111MODULE=on #安装protoc-gen-go时需要
go env -w GOPROXY=https://goproxy.io #官方代理地址

go get github.com/golang/protobuf/protoc-gen-go

#以下内容应该废弃了
mkdir -p $GOPATH/src/github.com/hyperledger/fabric/build/docker/gotools/bin
cp $GOPATH/bin/protoc-gen-go $GOPATH/src/github.com/hyperledger/fabric/build/docker/gotools/bin

6.编译Fabric模块

Fabric2.2
1.
go env -w GO111MODULE=on #安装protoc-gen-go时需要
go env -w GOPROXY=https://goproxy.io #官方代理地址
cd $GOPATH/src/github.com/hyperledger/fabric
go mod vendor
make release #如失败执行make clean 删除以编译的文件再重新编译,会删除已生成的可执行文件和下载的docker镜像(最新一次到这里报错,无法生成peer,直接从其它系统复制可执行文件)
#虚拟就在1核1G时编译peer出错,改为2核2g编译顺利通过。


检查是否安装好
./release/linux-amd64/bin/peer version
./release/linux-amd64/bin/orderer version
./release/linux-amd64/bin/configtxgen  -version
./release/linux-amd64/bin/configtxlator  version


安装可执行文件
sudo cp $GOPATH/src/github.com/hyperledger/fabric/release/linux-amd64/bin/* /usr/local/bin
sudo chmod -R 775 /usr/local/bin/configtxgen
sudo chmod -R 775 /usr/local/bin/configtxlator
sudo chmod -R 775 /usr/local/bin/cryptogen
sudo chmod -R 775 /usr/local/bin/peer
sudo chmod -R 775 /usr/local/bin/orderer

# 2.本地源代码生成Fabric模块的Docker镜像文件,以下步骤在v1.1.0时可成功,在v1.1.1时不可成功
# su root
# export GOPATH="/home/dev/go"
# go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/ #设置为阿里云的代理

2.下载所需docker镜像
sudo usermod -G docker userName 将用户加入docker组才有权限
newgrp docker 更新用户组
make docker

或从Docker仓库下载Fabric中的镜像步骤暂缺

7.Fabric-ca解决Fabric账号生成问题。由Fabric-ca-server和Fabirc-ca-client两个模块组成。

1.安装系统组件包
sudo apt install libtool libltdl-dev
2.下载源码并编译
cd $GOPATH/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric-ca

cd $GOPATH/src/github.com/hyperledger/fabric-ca
go env -w GO111MODULE=
make fabric-ca-server
make fabric-ca-client
3.安装编译好的可执行文件
cd $GOPATH/src/github.com/hyperledger/fabric-ca/bin
sudo cp * /usr/local/bin/

chmod -R 755 /usr/local/bin/fabric-ca-server
chmod -R 755 /usr/local/bin/fabric-ca-client

4.检查
fabric-ca-server version
fabric-ca-client version
显示版本则安装正确

8.开发客户端安装golang-sdk

mkdir -p $GOPATH/src/github.com/hyperledger
cd $GOPATH/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric-sdk-go

 

你可能感兴趣的:(区块链,Hyperledger,Fabric)