【区块链开发一】面向java-基于fabric1.1 搭建本地测试网络(Ubuntu)

鼓捣了好几天Fabric,全是坑,若是你不知道fabric是啥就别看了,本文主要有几个方面php

  • 安装fabric网络环境
  • 使用fabric-java-sdk启动和访问fabric网络。
  • 使用本地java测试类【fabric-java-sdk】访问sdk.

废话很少说,安装fabric网络基础环境go、docker、docker-composejava


安装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源码下载python

  • 下载源码
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的版本还有本地测试代码的版本统一。linux

下载docker镜像git

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

这个步骤是最慢的,由于下载的镜像都比较大。github

查看镜像。golang

docker images

镜像大概有这些。
这里写图片描述
【这步最重要,是能不能正常启动的关键】web


上面的准备好先不用动。docker

下载fabric-java-sdkapi

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便可。

运行结果:
这里写图片描述