HyperLedger Fabric 1.1 End-2-End 起步示例

1. 目标

把 fabric 官方示例中的 e2e 跑通,跑通之后我们可以对 fabric 有一个大概的了解,也说明 fabric 基础环境已经没问题了,便于之后的实践。

2. 准备环境

我当前的环境:

  • centos7

  • go1.9.7 linux/amd64

  • docker 18.03.1-ce

  • docker-compose 1.22.0-rc1

  • git 1.8.3.1

3. 下载 fabric 源码

git clone -b release-1.1 https://github.com/hyperledger/fabric.git

放到 $GOPATH/src 目录下:

mkdir -p $GOPATH/src/github.com/hyperledger/fabric

然后把 git 下载的 fabric 目录下的内容全部拷贝到新建的这个目录。

4. 下载 docker images

下载以下镜像,并标记为last:

docker pull hyperledger/fabric-peer:1.1.0
docker tag hyperledger/fabric-peer:1.1.0 hyperledger/fabric-peer

docker pull hyperledger/fabric-orderer:1.1.0
docker tag hyperledger/fabric-orderer:1.1.0 hyperledger/fabric-orderer

docker pull hyperledger/fabric-ca:1.1.0
docker tag hyperledger/fabric-ca:1.1.0 hyperledger/fabric-ca

docker pull hyperledger/fabric-couchdb

docker pull hyperledger/fabric-ccenv:1.1.0
docker tag hyperledger/fabric-ccenv:1.1.0 hyperledger/fabric-ccenv

docker pull hyperledger/fabric-javaenv:x86_64-1.1.0
docker tag hyperledger/fabric-javaenv:x86_64-1.1.0 hyperledger/fabric-vccenvjavaenv

docker pull hyperledger/fabric-kafka

docker pull hyperledger/fabric-zookeeper

docker pull hyperledger/fabric-tools:1.1.0
docker tag hyperledger/fabric-tools:1.1.0 hyperledger/fabric-tools

docker pull hyperledger/fabric-baseimage

docker pull hyperledger/fabric-baseos

5. 下载平台命令文件

查看平台信息:

echo "$(uname -s|tr '[:upper:]' '[:lower:]'|sed 's/mingw64_nt.*/windows/')-$(uname -m | sed 's/x86_64/amd64/g')" | awk '{print tolower($0)}'

我得到的返回结果:

linux-amd64

根据得到平台信息和版本,可以拼成下载地址:

https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.1.0/hyperledger-fabric-linux-amd64-1.1.0.tar.gz

解压后会得到一个 bin 文件夹,其中有几个可执行文件(例如:configtxgen、cryptogen、orderer、peer,都是重要的命令),把bin路径添加到 PATH 中:

# 编辑 /etc/profile,底部添加:
export PATH=/root/fabric/bin:$PATH

其中 bin 的路径根据自己实际位置修改,然后执行:

source /etc/profile

6. 运行e2e

进入e2e示例目录:

cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli/
./network_setup.sh up

遇到的问题

运行过程中报错:

Error: Error endorsing chaincode: rpc error: code = Unknown desc = error starting container: API error (404): {"message":"network e2ecli_default not found"}

意思是 e2ecli_default 这个 docker 网络没有。

查看:

docker network list

结果中有一个:

458ae5949f5a        e2e_cli_default     ...

查找 e2e_cli 文件夹中的所有文件,看谁在使用 e2ecli_default,在 base/peer-base.yaml 中找到了,修改为 e2e_cli_default,然后重新启动执行:

# 清理现有容器
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

# 启动
./network_setup.sh up

这次正常执行完成。

HyperLedger Fabric 1.1 End-2-End 起步示例_第1张图片
Snip20180726_6.png
HyperLedger Fabric 1.1 End-2-End 起步示例_第2张图片
Snip20180726_7.png

你可能感兴趣的:(HyperLedger Fabric 1.1 End-2-End 起步示例)