环境准备
# uname -a
Linux vbaas 4.4.0-142-generic #168-Ubuntu SMP Wed Jan 16 21:00:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
# docker version
Client:
Version: 18.09.7
API version: 1.39
Go version: go1.10.4
Git commit: 2d0083d
Built: Fri Aug 16 14:19:38 2019
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.09.7
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 2d0083d
Built: Thu Aug 15 15:12:41 2019
OS/Arch: linux/amd64
Experimental: false
# go version
go version go1.13.5 linux/amd64
# docker-compose version
docker-compose version 1.8.0, build unknown
docker-py version: 1.9.0
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
以官方的First Network为例,官方文档:
https://hyperledger-fabric.readthedocs.io/en/latest/build_network.html
下载Fabric镜像
运行初始化脚本fabric_bootstrap.sh:
./fabric_bootstrap.sh -s -- 2.0.0 1.4.4 0.4.18
注意:其中hyperledger-fabric-ca-linux-amd64-1.4.6.tar.gz和
hyperledger-fabric-linux-amd64-2.0.1.tar.gz需要翻墙才能下载,所以在脚本中注释掉了这部分。
env_bootstrap.sh、fabric_bootstrap.sh脚本也要提前准备好。
运行测试网络
-
创建根目录
mkdir -p /opt/fabric -
下载fabric-samples源码
git clone -b master https://github.com/hyperledger/fabric-samples.git -
复制fabric系统工具文件
解压hyperledger-fabric-ca-linux-amd64-1.4.6.tar.gz和
hyperledger-fabric-linux-amd64-2.0.1.tar.gz,并把bin文件夹复制到fabric-samples目录中 -
修改counchdb镜像版本
修改文件faric-samples/first-network/docker-compose-couch.yaml,把counchdb版本改成hyperledger/fabric-couchdb:latest -
生成证书文件以及通道文件
cd fabric-samples/first-network
./byfn.sh generate
-
Go相关依赖包被墙的解决方法
方法一:设置代理
go env -w GOPROXY=https://goproxy.cn
设置完后 重新执行即可go get
export GOPROXY=https://goproxy.cn
go1.11发布后,还发布一个goproxy提供代理服务,goproxy.cn是专门服务于中国的,依赖于七牛云
github地址: https://github.com/goproxy
方法二:git clone 依赖包直接到GOPATH/src/下
cd /d %GOPATH%/src/
git clone https://github.com/golang/net.git
ps:https://github.com/golang上为golang.org的镜像依赖包
所以,可以直接使用git clone代替go get
7)运行测试网络
./byfn.sh up -c mychannel -s couchdb -a
-c: 表示创建默认通道
-s: 表示数据库类型,一般使用couchdb
-a: 表示启动ca服务
出现以下画面表示运行成功: