本文主要基于 Hyperledger fabric 的官方文档和网上较新的博客,在一台MacOS上实现了Building Your First Network。
Prerequisites
按照官网的要求Prerequisites,需要安装docker,Go语言以及Node等。本机配置如下:
1 | $ docker --version |
其中,
- docker我下载的安装包安装的,安装过程中也安装了docker-compose.
go是通过brew install go安装的,记得添加环境变量。
vim ~/.bash_profile
1
2export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/binnode是下载的pkg安装的。
环境搭建
工具都准备好之后,接下来开始下载镜像,把这个页面下的内容全部保存到新建的images.sh文件中。
因为我们使用的是1.1.0版本,把其中的
1 | export VERSION=${1:-1.0.5} |
改为
1 | export VERSION=${1:-1.1.0-preview} |
然后执行,下载镜像(用华严的网一直无法下载,vpn也开了,晚上回到学校用的教育网下载没问题):
sh images.sh
下载好之后,用以下命令来查看镜像是否都下载成功:
docker images
下载Fabric-Samples源码
从此处下载。
示例运行
cd first-network
./byfn.sh generate
./byfn.sh up
出现以下画面说明示例运行成功。./byfn.sh down
examples/e2e_cli
参考 https://www.jianshu.com/p/e108cf655c0f
从git上拉取Hyperledger Fabric:git clone git@github.com:hyperledger/fabric.git
进入项目文件夹,查看 tag:
1 | git tag |
上面的tag表示相应的fabric项目的版本, fabric项目现在还处于早期发展阶段, 修改频繁且不一定能向下兼容, 所以在继续之前请先确定一个版本,避免后面踩坑。 笔者在这里使用v1.0.0。
1 | git checkout v1.0.0 |
启动项目
进入fabric文件夹下的examples/e2e_cli, 下面我们要测试e2e_cli这个demo。
执行download-dockerimage.sh,程序将会通过docker拉取项目所需镜像, 为了统一版本,请指定拉取镜像的版本号:
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>
执行成功后使用以下命令终止网络:
./network_setup.sh down