Hyperledger Fabric 开发链码,一般都是测试网络开发,然后部署到生产网络。

下面介绍测试网络、生产网络的一点理解。

1 测试网络

使用cryptogen等工具建立测试网络,开发环境使用。
这里以https://github.com/hyperledger/fabric-samples 2022.2.12的代码为例进行说明。

目录:fabric-samples/test-network/organizations/fabric-ca/

从上面的目录可以看到,测试网络包括:
1) 2个组织。每个组织有1个peer节点;
2) 1个order组织。组织有1个order节点;

端口分配情况:
ordererOrg 排序组织 7050端口
org1 组织 7051端口
Org2 组织 9051端口

1.1 配置文件

目录:/fabric-samples/config/
包括:
core.yaml : 创建Peer节点的配置文件;
orderer.yaml :Orderer节点示例配置文件;
configtx.yaml:组织结构配置文件。
主要用来配置fabric的组织结构,通道及锚节点的配置。它主要完成以下几个功能
1)生成启动 Orderer 需要的创世区块orderer.block(genesis.block)
2)创建应用通道所需的配置交易文件
3)生成组织锚节点更新配置交易文件

目录:/fabric-samples/test-network/configtx/
生产创世区块(GenesisBlock)与通道(Channel)所需配置文件。如指定orderer服务的相关配置,以及当前的联盟信息、联盟中所属包含的组织信息,这些信息的配置被定义在该文件中。

目录:fabric-samples/test-network/organizations/cryptogen/
生产组织结构及身份认证所需的配置文件。
crypto-config-orderer.yaml
crypto-config-org1.yaml
crypto-config-org2.yaml

目录:fabric-samples/test-network/compose/docker/
实现节点容器的管理。

1.2 启动流程

启动网络:

./network.sh up

下面的说明都以当前目录:fabric-samples/test-network/

启动网络前的准备
1)为2个peer节点和1个order节点创建证书和密钥。
cryptogen工具会利用在organizations/cryptogen文件夹下的配置文件生成节点证书和密钥。看下图多了peerOrganizations、ordererOrganizations 2个文件夹。

2)创建系统的创世块。
configtxgen工具使用configtx/configtx.yaml文件来创建创世块,并存储在system-genesis-block文件夹中。

当上述两步完成之后,./network.sh会启动测试网络:

启动测试网络的步骤:
1)脚本利用在compose/docker/文件夹下的docker-compose-test-net.yaml文件创建peer和orderer节点。

2)运行./network.sh createChannel子命令,脚本还会运行script文件夹下的createChannel.sh脚本来创建所需要的channel,脚本会用peer命令来创建channel,加入两个组织。

3)运行./network.sh deployCC命令,脚本会在所有peers上运行script下的deployCC.sh脚本来安装chaincode,在chaincode的定义被提交到channel。

4)最后,peer命令会调用init函数来初始化chaincode,并将所需的数据放入chaincode中。

2 生产网络

使用认证机构建立网络,设置生产组件和生产网络。

具体步骤
步骤1:选定你的网络配置;
步骤2:为资源设置一个集群;
步骤3:设置 CA节点
步骤4:用 CA 来创建身份和 MSP
步骤5:部署节点;创建1个 peer 节点、创建1个order节点
步骤6:节点加入组织,并加入通道。链码就可以安装在节点。

小结:
如果我们只是开发链码(智能合约),测试环境就足够了。
如果线上部署,涉及了多节点,需要了解和运用kafka、Kubernetes、zookeeper等各种分布式技术和框架。

Hyperledger Fabric 网络环境的一点理解相关推荐

  1. Hyperledger Fabric网络环境手动配置及其链码自动化部署

    目录 5.1 网络环境的搭建 5.1.1 生成组织结构与身份证书 5.1.2 生成创世区块和通道 5.1.3 启动Fabric网络 5.1.4  创建Fabric-SDK-GO对象并建立通道 5.1. ...

  2. hyperledger fabric 网络操作基本操作和概念

    hyperledger fabric 网络操作基本操作和概念 hyperledger fabric 网络操作基本操作和概念 1. cryptogen 操作 1.1 cryptogen 生成证书文件 1 ...

  3. 基于CELLO的Fabric网络环境部署

    1.简介: 该文档主要是在cello下实现Fabric网络环境的便携部署,其主要功能如下: 1)管理区块链的生命周期,例如自动创建/启动/停止/删除/保持健康状态. 2)支持定制(例如,大小,一致)区 ...

  4. 在一台Ubuntu计算机上构建Hyperledger Fabric网络

    在一台Ubuntu计算机上构建Hyperledger Fabric网络 Hyperledger fabric是一个开源的区块链应用程序平台,为开发基于区块链的应用程序提供了一个起点.当我们提到Hype ...

  5. 搭建Hyperledger Fabric网络

    注意:进行本文操作的前提是已完成Hyperledger Fabric的开发环境搭建,具体搭建步骤可参考[Hyperledger Fabric开发环境搭建(https://blog.csdn.net/y ...

  6. Hyperledger Fabric网络节点架构

    Fabric网络节点的组成如下图: 组成区块链网络相关的节点: 节点是区块链的通信主体,和区块链网络相关的节点有多种类型:客户端(应用).Peer节点.排序服务(Orderer)节点.CA节点 客户端 ...

  7. Hyperledger Fabric构建第一个网络(官方教程)

    前言 官方英文:Building Your First Network 中文:构建第一个fabric网络 感谢中文翻译!不然这么长的英文以及各种名词解释实在头疼.有一些和官方英文不一样的地方我已经按官 ...

  8. 《Hyperledger Fabric官方文档》区块链的网络

    下面这一节将会从概念的角度来说明一下,Hyperledger Fabric是如何做到让企业组织之间在区块链的网络间进行协作的.如果你是一个设计师.管理者异或一个开发者,通过这个小节,你可以对区块链网络 ...

  9. Hyperledger Fabric 1.3 官方文档翻译(五)教程 (Tutorials) - 5.2 构建你的第一个网络 (Building Your First Network)

    文章目录 构建你的第一个网络(Building Your First Network) 安装先决条件(Install prerequisites) 想要现在运行吗(Want to run it now ...

最新文章

  1. pythonisodd函数_python3.5|小白入门基础语法之数据结构、函数、迭代,确实简洁...
  2. HiveSQL中复杂数据类型操作
  3. web服务之Tomcat
  4. CodeCraft-21 and Codeforces Round #711 (Div. 2) 题解
  5. QImage与Mat之间的相互转换
  6. 无数踩坑系列(1)--Brightness Controller
  7. “球鞋一面墙,堪比一套房” 央视评炒鞋乱象:呼吁“鞋穿不炒”
  8. 邹欣对话图灵奖得主Jeffrey Ullman:数据库不会进入周期性的坏循环|《新程序员》...
  9. MFC消息映射与消息传递内幕
  10. 由单目标跟踪实现多目标跟踪的思想框架
  11. tf卡可以自己裁剪成nm卡_这些年Surface 3用过的TF卡与购买心得
  12. 参加美赛能给计算机保研er带来些什么?
  13. uni-app引入阿里云矢量图标库
  14. 计算机网络:网络拓扑分类
  15. 1998-2018 TOM邮箱20年发展
  16. 新手前端程序员就职指南之 - 入职第一天
  17. 区块链安全:实现公链双花攻击的多种方法
  18. 16个千兆光口8个千兆Combo光电复用口管理型工业以太网交换机环网+WEB管理+SNMP+VLAN
  19. 点集拓扑——基本知识点整理归纳
  20. 普歌+阿里云视频点播错误修改

热门文章

  1. 微信公众平台接口程序搜索音乐
  2. 怎么压缩gif图大小,gif压缩到微信表情
  3. 使用`rfkill`控制WIFI开关与`wpa_supplicant`的影响
  4. CAD如何安装才是最简单的详细教程方法呈现出来了
  5. 计算机的搜索功能无法启用,电脑文件搜索功能无法使用的具体解决方法
  6. c#winform之TextBox
  7. iOS关于APP唤醒和在后台做的事
  8. Codeforces Round #743 (Div. 2) B. Swaps 思维
  9. 适合php编程的笔记本电脑,【求推荐】(女生用/编程) 的 笔记本(Thinkpad) - 笔记本电脑(Notebook)版 - 北大未名BBS...
  10. 拆解SSK SCRM330 USB3.0读卡器 GL3233 固件 0819