参考文章
https://www.jianshu.com/p/8beb3a355f99
0、安装docker
下载地址:https://download.docker.com/mac/stable/Docker.dmg
0.1、安装go
brew install go
1、go 的环境设置
添加$GOPATH环境变量,在~/.bash_profile中添加:
export GOPATH=/Users/frank/go
export PATH=$PATH:$GOPATH/bin
2、建立 go 源码目录结构(必须要做,否则后面无法使用go进行编译):
cd $GOPATH
mkdir -p src/github.com/hyperledger
cd $GOPATH/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git
cd fabric
➜ git tag
git checkout v1.0.0
cd examples/e2e_cli
chmod +x download-dockerimages.sh
➜ ./download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0
./network_setup.sh up <channel-ID>
如果没有设置
channel-ID
参数,channel名默认是
mychannel
。脚本执行成功后输出:
停止网络:
# 在e2e_cli目录下
➜ ./network_setup.sh down
➜ docker rm -f $(docker ps -aq)
中间遇到了一次:Cannot run peer because cannot init crypto
解决方案:source download-dockerimages.sh
https://blog.csdn.net/sinat_36742186/article/details/78510191
问题1:和configtxgen文件目录有关
需要先下载xcode
cd $GOPATH/src/github.com/hyperledger/fabric && make configtxgen
如果出现错误:'ltdl.h'file not foundsudo apt install libtool libltdl-dev
执行:sudo apt install libtool libltdl-dev
然后再运行make configtxgen
问题2:Error: Error endorsing chaincode: rpc error: code = Unknown desc = Error starting container: API error (404): {"message":"network e2ecli_default not found"}
原因是:
e2e_cli目录是固定的,启动后会创建一个docker network以此为名字,这里是e2e_cli。如果修改该目录,要修改/opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/base目录下的peer-base.yaml
将网络名改成如下名称即可
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default