超级账本fabric区块链在鲲鹏服务器上的部署
【摘要】 超级账本Hyperledger Fabric v1.4.2区块链在鲲鹏服务器上的部署。目前fabric还不支持arm64v8的prebuild,所以只能自己build。
#基础环境
CentOS7 arm64尝试部署不成功。故操作系统为Ubuntu18.04 arm64。
安装依赖
#docker 安装
sudo apt-get update && sudo apt-get upgrade -y
#都选yes,和install local
apt-get install vim gcc git curl -y
apt-get install python-pip -y
apt install docker.io -y
docker -v
apt-get install docker-compose -y
docker-compose -v
sudo vi /etc/docker/daemon.json
systemctl daemon-reload
systemctl restart docker
#安装go
wget https://dl.google.com/go/go1.13.5.linux-arm64.tar.gz
tar -C /usr/local -xzf go1.13.5.linux-arm64.tar.gz
sudo vi ~/.profile
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
source ~/.profile
cp /usr/local/go/bin/go /usr/bin/go
go version
#安装编译工具
apt install protobuf-compiler -y
go get -u github.com/golang/protobuf/protoc-gen-go
apt-get install libc6-dev libltdl3-dev python-setuptools -y
#安装node
apt-get install nodejs npm -y
node -v
npm -v
#编译源码
mkdir -p $GOPATH/src/github.com/hyperledger/
cd $GOPATH/src/github.com/hyperledger/
git clone -b v1.4.2 https://github.com/hyperledger/fabric.git
#或者解压提前准备好的该版本压缩包
tar xvf fabric.tar
#编译基础镜像
git clone -b v0.4.15 https://github.com/hyperledger/fabric-baseimages.git
cd fabric-baseimage/
git checkout -b v0.4.15
vi Makefile
#新增 DOCKER_BASE_arm64=aarch64/ubuntu:xenial
#修改images/couchdb/Dockerfile.in文件,在112行处增加如下内容。
&& chmod +w bin/rebar \
&& mv bin/rebar bin/rebar-orig \
&& cd bin \
&& curl -fSL https://github.com/rebar/rebar/wiki/rebar --output rebar \
&& chmod +x rebar \
&& cd .. \
修改scripts/common/setup.sh文件,在73行处做如下修改:
注释掉
NODE_PKG=node-v$NODE_VER-linux-$ARCH.tar.gz
添加
NODE_PKG=node-v$NODE_VER-linux-arm64.tar.gz
修改后执行make,预计很久。。失败了就再次make
make
查看镜像
docker images
#编译fabric其他镜像
cd ..
cd fabric
vi Makefile
修改Makefile文件,在114行处做如下修改。
all: native docker checks改为
all: native docker #checks
go get github.com/golang/protobuf/protoc-gen-go
cd $GOPATH/src/github.com/golang/protobuf/
make all
cd $GOPATH/src/github.com/hyperledger/fabric
cp $GOPATH/bin/protoc-gen-go build/docker/gotools/bin/
cp $GOPATH/bin/protoc-gen-go .build/docker/gotools/bin/
make
再次查看镜像
二进制文件编译
#修改Makefile文件 在100行最右添加
linux-arm64
#在350行后添加如下内容。
release/linux-arm64: GOARCH=arm64
release/linux-arm64: $(patsubst %,release/linux-arm64/bin/%, $(RELEASE_PKGS))
make release
cp release/linux-arm64/bin/* /root/go/bin/
编译fabric-ca
cd $GOPATH/src/github.com/hyperledger/
git clone -b v1.4.2 https://github.com/hyperledger/fabric-ca.git
cd fabric-ca
#修改Makefile文件,在75行处做如下修改。
-all: rename docker unit-tests
+all: rename docker #unit-tests
make
#再次查看镜像是否编译成功
docker images
测试fabric-samples
cd $GOPATH/src/github.com/hyperledger/
git clone -b v1.4.2 https://github.com/hyperledger/fabric-samples.git
cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network/
./byfn.sh generate
./byfn.sh up
看到如下界面即为成功
可能遇到的问题
SDK-java无法成功运行
如果是openjdk需要更换成oracle-java
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
梦之美丽生活2020/09/10 07:47:431楼编辑删除举报
make: *** [build/docker/baseimage/.arm64-0.4.15] Error 4请问这个问题怎么解决的呢