Hyperledger Fabric是一个开源区块链框架实现,是Linux基金会托管的Hyperledger项目之一。 它是用于分布式分类帐解决方案的平台。

本文旨在通过使用Kubernetes简化Fabric操作。 由于以下原因,此工具是理想的:

  • 使用Kubernetes可以轻松实现高可用性(HA)。
  • Fabric内置在容器映像中,Kubernetes在编排,缩放和管理容器中很有用。
  • Kubernetes支持多租户,从而可以开发和测试区块链应用程序。

我将部署一个由一个对等,一个订购者,两个组织和一个渠道组成的网络。

Hyperledger Fabric用例

  1. 企业对企业(B2B)合同:此技术可用于以受信任的方式自动执行商业合同。

  2. 资产存管:资产可以在区块链网络上取消实现,从而使资产类型的所有利益相关者都能通过中介或中间人访问每种资产。 当前,在许多分类帐中都跟踪资产,必须对帐。 Hyperledger Fabric用单个分散的分类帐替换了这些多个分类帐,从而提供了透明度并消除了中介。

  3. 忠诚度:忠诚度奖励平台可以安全地建立在区块链(在本例中为Hyperledger Fabric)和智能合约技术之上。

  4. 分布式存储以增加双方之间的信任。

Hyperledger Fabric的优势

  • 允许的成员资格:所有参与者都具有已知身份
  • 高性能和可扩展性
  • 信任度提高
  • 数据始终在需要了解的基础上
  • 支持基于不变账本的丰富查询

术语的定义

  1. 对等点 :对等点是网络上的一个节点,维护分类帐的状态并管理链码。 任何数量的对等方都可以参与网络。 同行可以是背书者或提交者。 对等构成对等八卦网络。

  2. Orderer :管理一个可插拔的信任引擎,该引擎执行事务的排序。

  3. 渠道 :一种数据分区机制,仅将交易可见性限制为利益相关者。 渠道成员在渠道内达成共识。

配置文件

该网络的所有配置文件都可以在GitHub上找到 。

  1. configtx.yaml : configtxgen工具根据此文件生成创世块(用于初始化区块链网络或通道的配置块),用于启动订购程序并限制通道创建的权限。 根据crypto-config.yaml文件中组织的定义生成创世块。

  2. crypto-config.yaml :cryptogen工具根据该文件为Fabric成员生成证书。

要生成网络工件,请运行network-artifacts-gen.sh 。 这将创建一个crypto-config和channel-artifacts文件夹。 内容将显示如下:

  1. fabric-ca.yaml :这是Fabric的CA服务的Kubernetes部署模板。 它用于组织中的证书管理。

  2. fabric-orderer.yaml :订购者的Kubernetes部署模板。

  3. fabric-peer.yaml :对等方的部署模板

部署方式

  1. 克隆或派生示例配置。

  2. 将目录更改为HLF文件夹。

  3. 安装Composer(如果尚未安装),因为在步骤4中生成网络工件时,我们将使用它来导入身份: npm install -g composer@0.13.0

  4. 如果要生成新的网络工件,请运行network-artifacts-gen.sh文件: sh network-artifacts-gen.sh

  5. 如果您重新生成了网络工件,请提交所有内容并推送到GitHub存储库。 您需要克隆存储库,如步骤1所述。

  6. 修改org1.example.com.yaml文件以匹配此任务的存储库详细信息。

  7. 记住要遍历模板文件并进行相应的修改。

  8. 我将使用Kulmnetes的软件包管理器Helm来管理部署。 Mac用户可以通过brew install kubernetes-helm 。 Linux用户: curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash

  9. 通过运行以下命令minikube start本地Kubernetes环境: minikube start

  10. 接下来,使用命令helm init初始化Helm。 给它十秒钟以完成预配置Helm。 然后运行:

    helm install --name test ./fabric-artifacts -f org1.example.com.yaml

    这将部署订购者,对等方和CA。

    通过列出pod确认部署: kubectl get po

或者只是启动Kubernetes仪表板:kubectl代理,然后访问链接http:// localhost:8001 / api / v1 / namespaces / kube-system / services / http:kubern ...。

现在,让我们创建并加入频道。 运行channel.sh (即sh channel.sh) 。 这将创建一个名为mychannel的频道,并将我们的对等方加入创建的频道。 检查日志以确认一切正常。

订购日志

对等日志

CA日志

现在,网络已为应用程序处理交易做好了准备。 在您的应用程序中,您将有一个客户端,该客户端将通过Fabric Rest服务器向Fabric发出请求。 这意味着您的应用程序中的客户端与Fabric之间应该存在网络配置。 应用程序可以是移动应用程序,Web应用程序等。在本文中,我只是想展示使用Kubernetes和Hyperledger Fabric的简单性。

翻译自: https://opensource.com/article/18/4/deploying-hyperledger-fabric-kubernetes

在Kubernetes上部署Hyperledger Fabric相关推荐

  1. Ubuntu 18.04上进行HyperLedger Fabric 1.2.0环境及链码安装、部署和测试

    Ubuntu 18.04上进行HyperLedger Fabric 1.2.0环境及链码安装.部署和测试 1.环境安装 HyperLedger Fabric 1.2.0环境的安装推荐一篇博客:http ...

  2. 多个主机节点上的Hyperledger Fabric

    Hyperledger Fabric是由Linux Foundation托管的业务区块链项目.它是一个"分布式总账解决方案平台,以模块化架构为基础,提供高度机密性,弹性好,灵活性和可扩展性. ...

  3. Ubuntu20.04上部署 Hyperledger Fabric2.3

    Ubuntu20.04上部署 Hyperledger Fabric2.3.1 一.安装Git 二.安装CURL 三.安装Docker 四.安装GO 五.安装fabric 六.下载配置文件与镜像 七.测 ...

  4. 在Kubernetes上部署一个简单的、类PaaS的平台,原来这么容易!

    作者 | Bram Dingelstad 译者 | 弯月 责编 |徐威龙 封图| CSDN下载于视觉中国 我们都遇到过这种情况:有人发现了一个bug,然而这不是一般的软件bug,甚至都不是通常意义上的 ...

  5. 在Kubernetes上部署和管理PostgreSQL

    目录 有哪些选项可用于部署PostgreSQL? 选项 01 - 从头开始​​创建部署配置 选项 02 - 使用helm chart 什么是Helm? Helm架构 Helm由三个主要概念组成 如何安 ...

  6. aws eks_在带aws eks的kubernetes上部署带舵的破折号

    aws eks Today we are going to be talking about Deploying a Dash App on Kubernetes with a Helm Chart ...

  7. 小程序动画从头开始_如何从头开始在Kubernetes上部署弹性Node.js应用程序

    小程序动画从头开始 视频 (Video) 描述 (Description) You may have heard the buzz around Kubernetes and noticed that ...

  8. 如何在OpenStack Kolla上部署Tungsten Fabric(附14个常见的配置问题)

    首先,使用contil-kolla-ansible-deployer容器在OpenStack Kolla上部署Tungsten Fabric(注:原文为Contrail,本文以功能一致的Tungste ...

  9. kubernetes上部署rook-ceph存储系统

    文章目录 1. 简单说说为什么用rook 2. rook-ceph部署 2.1 环境 2.2 Rook Operator部署 2.3 Ceph集群创建 2.3.1 标识osd节点 2.3.2 yaml ...

最新文章

  1. DeepSpeed超大规模模型训练工具
  2. R语言可视化散点图、气泡图、动态气泡图、数据点重合的散点图、数据点计数图、抖动数据点图、基于lm方法或者loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注
  3. Hadoop HDFS概念学习系列之熟练掌握HDFS的Shell访问(十五)
  4. python中国内源_【文】Python更换国内镜像源
  5. iOS开发-开发总结(七)
  6. Gradle复制文件/目录方法
  7. 前端学习(3157):react-hello-react之一个简单的helloworld
  8. Linux入门学习(七)
  9. 喜马拉雅 xm文件转m4a_录音转文字:学习/办公/生活都极为实用!
  10. python合并大量ts文件_python合并ts视频
  11. python判断excel某单元格是否为空
  12. 开启Google Chrome浏览器加速模式
  13. 美国密歇根州立大学计算机专业,密歇根州立大学计算机科学与工程系
  14. 华为每天给武汉员工发2千块,任正非:我最擅长的事,就是分钱!
  15. html中dom什么意思,dom属性是什么意思啊 html dom是什么意思,通俗易懂
  16. KV存储相关基础知识
  17. paip 突破 网站 手机 验证码 的 破解 总结
  18. Qt: 读取/写入文本文件内容
  19. 【AWS】一、如何在AWS免费撸一年的服务器
  20. Easy EDA #学习笔记09# | ESP32 一键下载电路

热门文章

  1. 领域驱动模型VO,BO,PO,DO,DTO概念及其区别
  2. 面试题系列-Spring连环10问
  3. ASP.NET Core学习之五 EntityFrameworkCore
  4. 扒网站:模板小偷 单页模板扒手
  5. 学习《HTML+CSS基础课程》里的权值
  6. 2015年关注的技术书籍
  7. 基于概率的项目相似度之并行方法
  8. 总结在开发中常用的Linux命令
  9. java如何引入qq登陆,Java Swing仿QQ登录界面 学习之用
  10. java实践SPI机制及浅析源码