鼓捣了好几天Fabric,全是坑,如果你不知道fabric是啥就别看了,本文主要有几个方面
- 安装fabric网络环境
- 使用fabric-java-sdk启动和访问fabric网络。
- 使用本地java测试类【fabric-java-sdk】访问sdk.
废话不多说,安装fabric网络基础环境go、docker、docker-compose
安装Go语言环境
- 安装go语言
wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz
- 添加环境变量
vi ~/.profile
- 尾部追加如下内容
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin
- 保存退出,使得文件生效,并查看Go版本信息
source ~/.profile
- 我们把go的目录GOPATH设置为当前用户的文件夹下,所以记得创建go文件夹
cd ~
mkdir go
安装Dcoker
- 安装Docker
sudo apt-get install docker.io
- 查看版本信息
docker -v
安装Docker-compose
- 安装Python-pip
sudo apt-get install python-pip
- 安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
- 查看版本
docker-compose -v
Fabric源码下载
- 下载源码
mkdir -p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git
- 切换版本
cd ~/go/src/github.com/hyperledger/fabric
git checkout release-1.1
这个版本最好和SDK的版本还有本地测试代码的版本统一。
下载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 images
镜像大概有这些。
【这步最重要,是能不能正常启动的关键】
上面的准备好先不用动。
下载fabric-java-sdk
cd /usr/sdk
git clone https://github.com/aberic/fabric-sdk-container.git
进入如下的相对目录下
cd fabric-sdk-java/src/test/fixture/sdkintegration/
运行批处理文件
./fabric.sh up
结果如下:
最后没看见明显的报错,就说明启动了。至此,fabric网络就正常运行中了。
运行E_2_E
java开发人员,肯定想的是这个是个fabric-java-sdk的测试类,访问fabric网络,注册用户,安装链码,交易。 所以,一般能正常运行这个测试类,说明你的测试环境就已经搭建好了。
- 下载https://github.com/aberic/fabric-sdk-container.git代码到任意目录,用IEDA或者其他IDE打开。
- 同样切换版本到1.1
- 查找类End2endIT.java
当前版本的目录
- 修改服务器IP,在End2endIT.java的第一个属性TestConfig中定义了访问fabric的网络IP地址
这个IP修改为自己fabric的IP即可。
运行结果: