Alan Hou的个人博客

Hyperledger Fabric v2.x基础网络开发-安装篇

根据 GitHub显示Hyperledger Fabric官方维护两个 LTS版本,v1.4.x 版本仅支持到2021年4月,也就说其实已经到期了,v2.x 当前的 LTS 版本为 v2.2.x。而目前很多收费课程还是基于1.x 的,Fabric v2.x方面的视频教程看起来还很少,于是去油管找了份带咖喱味的挑战下英语听力。通常三哥们的技术都是很棒的,值得我辈学习,下面就让我来试试水有多深。

前置准备

基础知识

工具

基本都可以考虑使用比这里更新的版本:

安装

Ubuntu 16.04的LTS都已经过了,大部分公司生产都不使用这个版本了吧?我们就使用18.04吧。

安装基础环境

安装示例、二进制和 Docker 镜像

fabric-samples/bin内的二进制文件

peer 节点包含 Leader Peer 和 Anchor Peer两种类型

项目目录结构

https://github.com/adhavpavan/BasicNetwork-2.0

crypto-config.yaml

生成的排序节点证书文件:

configtx.yaml

通道 Policy 类型

OrdererType:
  • etcdraft:排荐使用,采取Leader and Follower 模式,从排序节点复制主排序节点的决策,比已淘汰的kafka模式简单,同时可防崩溃。raft 有三种状态 follower, candidate, leader
  • solo:单排序节点,通常仅在测试时使用

进一步了解 raft共识机制:http://thesecretlivesofdata.com/raft/

docker-compose.yaml

因已指定创世块,请记得指定为文件,并做好路径的映射:

启动服务

部署链码(chaincode)

链码的生命周期

Package->Install->Query->Approve->Check Commit Readiness->Commit->Query Committed->Invoke Init->Invoke->Query

可自行尝试其中的命令

另外因为我们使用了 CouchDB,可以在网页端进行访问,如http://192.168.xx.xx:5984/_utils/

部分改造后的代码参见 GitHub

添加多 Raft 排序节点,需修改 docker-compose.yaml(如在services下新增orderer2.alanhou.org和orderer3.alanhou.org) 及 configtx.yaml(Profiles下的EtcdRaft及 Order 下的EtcdRaft)

Credit: https://www.youtube.com/c/PavanAdhav

退出移动版