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

Coding Alan 3年前 (2021-05-08) 3034次浏览 0个评论 扫描二维码

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

前置准备

基础知识

  • 掌握一些基础编程概念
  • 文本编辑器
  • cli命令客户端
  • 最好熟悉 Java, Python, JavaScript 或 Go 中的一种语言
  • 掌握区块链的基本概念
  • 数据库、端到端(p2p)网络
  • 共识机制、基本加密知识(如加密技术、签名和哈希)

工具

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

  • 操作系统:64位Ubuntu Linux 14.04/16.04 LTS或 macOS
  • 最新版 curl 工具
  • git
  • Docker 引擎: 17.06.2-ce或以上
  • Docker Compose:1.14或以上
  • Go:1.13.x
  • Node:8.9或以上(注:不支持9,但支持10.15.3或以上)
  • npm:5.x
  • Python:2.7

安装

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

安装基础环境

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

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

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

  • Leader Peer
  • Anchor Peer:某一加入通道的组织,主要用于跨组织的 peer 节点发现

项目目录结构

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

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

crypto-config.yaml

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

configtx.yaml

通道 Policy 类型

  • Signature :指定需要签名的用户来满足条件,例:
  • ImplicitMeta : 所指定的由 Signature 策略聚合而成,支持 <ALL|ANY|MAJORITY> <sub_policy>,如ANY Readers
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/

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

部分改造后的代码参见 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

喜欢 (2)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址