在ubuntu环境下 hyperledger fabric开发环境搭建

一、环境安装

1.1 安装git

命令如下:apt installl git

查看版本信息: git version

1.2 安装docker

命令如下: apt install docker-ce

查看版本信息: docker version

添加加速器:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://a52236d2.m.daocloud.io

该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中

重启docker服务使加速器生效:

sudo systemctl restart docker.service

1.3 安装docker-compose

命令如下:

curl -L https://get.daocloud.io/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

添加执行权限:

sudo chmod +x /usr/local/bin/docker-compose

查看版本信息: 

docker-compose --version

1.4 安装go

解压资源文件,命令如下: tar -C /usr/local -zxf  包.tar.gz

添加环境变量:vi  /etc/profile

内容如下:

export GOROOT=/usr/local/go
export GOPATH=/opt/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

使配置生效:

source /etc/profile

查看版本信息

go version

二、构建网络

2.1 下载fabric-samples

命令如下:

cd /opt

git clone -b master https://github.com/hyperledger/fabric-samples.git

cd fabric-samples

2.2  下载fabric工具(cryptogen,configtxgen等

由于官网提供的网址无法访问,可以通过fabric/scripts 目录下的脚本来下载工具

首先下载fabric代码  下载地址:https://github.com/hyperledger/fabric.git   切换到相应分支上

mkdir -p  /opt/gopath/src/github.com/hyperledger

cd /opt/gopath/src/github.com/hyperledger

copy fabric源码到 /opt/gopath/src/github.com/hyperledger目录下 

对fabric目录授权

chmod -R +x fabric

进入到scripts目录下

本文采用1.0.1版本的脚本工具

打开脚本可以看到,脚本作用:下载工具、拉取镜像并修改tag

执行完毕后,当前目录下会生成一个bin目录,把该目录添加到环境变量中 保证工具类的正常使用

配置如下:

vi /etc/profile

添加:export FABRIC_TOOL=/opt/gopath/src/github.com/hyperledger/fabric/scripts/bin

使配置生效:

source /etc/profile

2.3 启动网络

进入fabric-sample/first-network目录下

执行该脚本命令

./byfn.sh -m up

即可启动该网络

启动时 默认采用docker-compose-cli.yaml配置文件启动容器,通过-f 可以修改启动的配置文件

常用命令:

2.4 启动后状态

由于cli容器启动后会自动执行script.sh

该脚本会自动执行,作用:

1. 生成channel.block文件

2.把组织的peer加入到该channel中

3.部署chaincode,并执行invoke和query操作


最终我们会看到如下容器:

包含:四个peer 合约容器三个 一个order容器

注:一般我们在启动一个网络环境的时候 无需自动发布合约,可以通过docker-compose-cli.yaml中 cli容器配置的cmd注释掉(需要手工创建channel和把节点加入到channel).也可以修改script.sh脚本  去掉部署合约的部分或修改为自己的合约. 


至此创建Fabric网络完成!


猜你喜欢

转载自blog.csdn.net/leilecoffee/article/details/78550143