快速搭建fabricv1.0.0环境

1.安装Docker及Docker-Compose

参考另一篇博客:Ubuntu14.04下安装docker和docker-compose

2.安装Go环境

参考另一篇博客:Ubuntu和Windows搭建go环境

3. Fabric源码下载

mkdir –p ~/go/src/github.com/hyperledger 
cd ~/go/src/github.com/hyperledger 
git clone https://github.com/hyperledger/fabric.git

image

切换到v1.0.0版本

cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0

image

4. Fabric Docker镜像的下载

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

注: 如果提示权限不足,查看是否将当前用户添加到docker用户组中

下载过程较慢,请耐心等待,安装完成后查看docker中镜像

docker images

image

5.启动Fabric网络并完成ChainCode的测试

network_setup.sh提供了启动,停止,重启fabric网络的脚本。首先启动fabric网络,启动过程可能要稍微等待一会:

./network_setup.sh up

image

看到以下这两个标识,fabric网络就是启动成功了

image

注意:

1.fabric的启停操作一定要使用脚本执行,否则下次启动可能会出错。
2.如果执行up/down失败,可以尝试使用restart启动。
3.清理e2e_cli目录下多余的文件夹

遇到的错误:
image
删除e2e_cli文件夹下的crypto-config/文件夹,重新启动,启动成功

6.Fabric网络初体验

fabric启动后,查看所有正在运行docker容器:

sudo docker ps

image

在这次安装好的example中,默认的channel名字是mychannel,链码的名字是mycc。我们进入fabric提供的客户端cli。

docker exec -it cli bash

image

运行以下命令可以查询a账户的余额:

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

可以看到a的余额为90
image
查询b的余额:
image

然后,我们试一试把a账户的余额再转10元给b账户,运行命令:

peer chaincode invoke -o orderer.example.com:7050  --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem  -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}'

提示运行成功:
image

再次查询a的余额
image

查询b的余额:
image

最后我们还要关闭fabric网络,首先exit退出容器,然后同样在e2e_cli目录下执行命令

./network_setup.sh down

ok,这里fabric一个简单的环境就搭建完成了,接下来可以学习fabric的更多知识了。