Andy Back-end Dev Engineer

Fabric中文文档笔记2-快速入门

2018-05-21

本文设定了一个简单的Fabric网络场景,包括2个organization,每个有2个peer,并使用“solo” ordering服务。网络实体所需的加密材料(x509证书)已预先生成并放到相应目录和配置文件里了,你无需修改这些配置。examples/e2e_cli文件夹里包含了docker-compose文件和要用来创建和测试网络的脚本文件。

本文还演示了使用配置生成工具configtxgen生成网络配置。

1.前提

完成以下安装Fabric源码和编译configtxgen工具:

  • 完成环境安装,具体可以参考官方文档博客,以及知乎专栏
  • 拉取fabric源码

    git clone https://github.com/hyperledger/fabric.git

  • 编译configtxgen工具: 如果运行在Linux,在Fabric目录下执行以下命令:
      cd $GOPATH/src/github.com/hyperledger/fabric make configtxgen
      # 如果出错:'ltdl.h' file not found sudo apt install libtool libltdl-dev
      # 然后再运行make make configtxgen
    

    编译成功后输出:

    build/bin/configtxgen
    CGO_CFLAGS=" " GOBIN=/Users/johndoe/work/src/github.com/hyperledger/fabric/build/bin go install -ldflags "-X github.com/hyperledger/fabric/common/metadata.Version=1.0.0-snapshot-8d3275f -X 
    github.com/hyperledger/fabric/common /metadata.BaseVersion=0.3.0 -X 
    github.com/hyperledger/fabric/common/metadata.BaseDockerLabel=org.hyperledger.fabric"       
    github.com/hyperledger/fabric/common/configtx/tool/configtxgen
    Binary available as build/bin/configtxgen``
    

    编译后执行文件放在Fabric目录下的的build/bin/configtxgen ```git //这里GOPATH路径出现问题 //应该这样设置才是正确的

vi ~/.profile

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

source ~/.profile


### 2. 执行完整脚本
 - fabric源码下载之后,进入fabric路径
```git
cd ~/go/src/github.com/hyperledger/fabric
// 由于Fabric一直在更新,所有我们并不需要最新最新的源码,需要切换到v1.0.0版本的源码即可:
git checkout v1.0.0
  • 进行Fabric 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
    

    得到结果如下: 结果

3. 启动Fabric网络并完成测试

我们仍然停留在e2e_cli文件夹,这里提供了启动、关闭Fabric网络的自动化脚本。我们要启动Fabric网络,并自动运行Example02 ChainCode的测试,执行一个命令:

./network_setup.sh up

Comments

Content