区块链100篇之fabric的网络搭建(二)

今天来讲一下关于fabric网络的节点yaml文件的编写,对于crypto-config.yaml文件以及configtx.yaml文件这里就不做细讲,只需大概知道前者是用于生成证书,后者是用于生成创世区块,应用通道的交易配置,各个组织的锚节点配置交易,详细的解释可以查看这个链接:configtx.yaml中文详解。
base目录中有两个文件,一个是peer-base.yaml文件另一个一个是docker-compose-base.yaml文件

peer-base.yaml

区块链100篇之fabric的网络搭建(二)_第1张图片

  • 1.依赖的镜像, $IMAGE_TAG这个变量在.env文件中,修改即可自己想要的版本即可;
  • 2.Docker守护进程默认监听的Unix域套接字,容器中的进程可以通过它与Docker守护进程进行通信;
  • 3.网络工作模式,这里使用的是bridge方式;
  • 4.日志模式,在生产环境中尽量使用INFO模式,因为DEBUG模式下的日志会占用不少的存储空间;
  • 5.这两个配置方式都可以将peer设置为静态或者动态的leader节点,如图配置的话那就是该peer动态选举leader节点;
  • 6.使用profile
  • 7.如果使用的云服务器是阿里云的话需要设置该环境变量,否则会出错;
  • 8.这里是配置peer通信的TLS证书;
  • 9.配置一系列关于orderrer的节点配置,包括orderer的监听地址、创世区块的文件类型、创世区块在容器中的路径、orderer的本地mspid、本地msp文件夹。

docker-compose-base.yaml

docker-compose-base.yaml文件继承于peer-base.yaml文件,简单讲一下其中orderer1.example.com于peer0.org.example.com这两个节点的配置,其他的以此类推,想增减节点都可以照猫画虎。

orderer1.example.com

区块链100篇之fabric的网络搭建(二)_第2张图片

  • 1.继承于peer-base.yaml文件中;
  • 2.将证书与创世区块挂载到容器内部中去,注意底下的注释,是将容器内的数据挂载到宿主机上的某个目录(可以自定义),这样容器一旦宕掉之后数据才不会丢失,生产环境中这一行需要打开;
  • 3.映射端口
peer0.org.example.com

区块链100篇之fabric的网络搭建(二)_第3张图片

  • 1.peer节点的id,访问地址以及监听地址;
  • 2.peer链码的访问地址以及监听地址;
  • 3.gossip的引导节点,一个组织有一个引导节点;
  • 4.gossip外部节点;
  • 5.mspid

docker-compse-cli.yaml

这个文件主要是启动一个cli客户端用于连接peers与orderers容器进行操作。
区块链100篇之fabric的网络搭建(二)_第4张图片

  • 1.这里指定Admin用户的证书,在安装实例化链码的时候需要用到;普通用户的证书只能用于查询或者调用链码;
  • 2.挂载链码文件到容器内部;
  • 3.将crypto-config目录挂载到容器中,这个目录暂时是使用官方给定的cryptogen二进制文件根据crypto-config.yaml文件生产的证书,当然除了使用cryptogen二进制外还可以使用fabric-ca模块来生产所需要的证书;
  • 4.这是在容器内部需要执行的脚本文件,包括创建加入channel,安装实例化chaincode等,这个下一篇再讲;
  • 5.将创世区块,通道交易配置文件以及各个组织的锚节点文件挂载到容器内,这些都是必须的,创世区块会被当做system channel的第一个区块,通道交易配置文件在创建application channel以及加入channel的时候用到,锚节点文件在加入channel后的更新锚节点操作需要用到;
  • 6.这个是yaml的语法规则,意思是需要等到以上的容器启动成功后cli这个容器才会启动。

你可能感兴趣的:(区块链100篇,fabric)