一.搭建网络规划
采用容器环境,搭建1个排序节点(Orderer)、2个对等节点(Peer),另外用 一个fabric-cli容器。实训中的绝大部分命令是通过该容器执行的。

容器名称设置

二. 配置HF网络证书
首先docker ps 检查镜像,确保镜像为空

1.生成crypto-config.yaml
使用showtemplate显示默认配置信息,并重定向保存到config子目录下的文件crypto-config.yaml。 具体命令如下:
mkdir -p ~/test/config
cd ~/test
cryptogen showtemplate > config/crypto-config.yaml
2.用默认配置生成组织身份文件
cryptogen会创建crypto-config文件夹,并将生成的内容输出到crypto-config文件夹中。其中的内容按 照组织进行组织。 具体命令如下:
cryptogen generate --config config/crypto-config.yaml --output crypto-config
三. 生成系统组织的数字证书
1.编写排序节点(orderer)配置文件
编写排序配置文件,保存在config目录下,文件名crypto-config-orderer.yaml。
vim config/crypto-config-orderer.yaml配置如下内容:
# --------------------------------------------------------------------------- # "OrdererOrgs" - Definition of organizations managing orderer nodes
# ---------------------------------------------------------------------------
OrdererOrgs:
  - Name: Orderer
    Domain: example.com
    EnableNodeOUs: true
    Specs:
      - Hostname: orderer
        SANS:
          - localhost
 
2.生成排序节点组织身份文件
使用如下命令:
cryptogen generate --config config/crypto-config-orderer.yaml --output organizations
3.编辑生成组织1数字证书的配置文件
编辑配置文件config/crypto-config-org1.yaml
vim config/crypto-config-org1.yamlPeerOrgs:
 # ---------------------------------------------------------------------------
 # Org1
 # ---------------------------------------------------------------------------
  - Name: Org1
    Domain: org1.example.com
    EnableNodeOUs: true
    Template:
      Count: 1
      SANS:
        - localhost
    # Start: 5
    # Hostname: {{.Prefix}}{{.Index}} # default
    Users:
      Count: 1

4.生成组织1身份文件
使用如下命令:
cryptogen generate --config config/crypto-config-org1.yaml --output organizations
编辑生成组织2数字证书的配置文件
编辑配置文件config/crypto-config-org2.yaml
vim config/crypto-config-org2.yamlPeerOrgs:
# ---------------------------------------------------------------------------
# Org2
# ---------------------------------------------------------------------------
  - Name: Org2
    Domain: org2.example.com
    EnableNodeOUs: true
    Template:
      Count: 1
      SANS:
        - localhost
    # Start: 5
    # Hostname: {{.Prefix}}{{.Index}} # default
    Users:
      Count: 1
 
 
生成组织2身份文件
使用如下命令:
cryptogen generate --config config/crypto-config-org2.yaml --output organizations
四. 创建创世区块 (applicationchannel.block)
1.编辑configtx.yaml
Fabric的configtxgen工具生成通道配置,对应的配置文件是configtx.yaml,文件内容可以参考Fabric默认的配置文件。
2.创建创世区块
执行如下步骤创建创世区块:
export CHANNEL_NAME=applicationchannel
echo ${CHANNEL_NAME}
configtxgen -configPath ./config -profile TwoOrgsApplicationGenesis -channelID${CHANNEL_NAME} -outputBlock channel-artifacts/${CHANNEL_NAME}.block

执行如下步骤创建创世区块:
ls channel-artifacts/ -al执行结果如下:

五. 部署HF区块链网络
1.编辑Docker-compose文件
在fabric目录下,新建一个fabric-compose.yaml文件,用于创建docker集群。
文件内容为:fabric-compose.yaml


2.创建docker卷
检查docker卷是否存在,若存在删除:
docker volume ls
docker volume rm peer0.org1.example.com orderer.example.com olla 执行以下命令:
docker volume create orderer.example.com
docker volume create peer0.org1.example.com
docker volume create peer0.org2.example.com
3.部署fabric容器
在config目录下添加core.yaml
 cp ~/fabric/config/core.yaml config/
执行以下命令:
docker-compose -f fabric-compose.yaml up -d
查看
docker ps




















