管道的操作分为创建、更新、查询和销毁4种,由客户端向排序(Orderer)节点发送对应的管道配置交易来完成。

1. 创建管道

交易内容包括参与的已授权节点列表,这些节点表示MSPs(成员服务提供者 Member Service Providers).

1.1 流程举例

假设Alice和Bob都有能力为这个区块链网络上的节点和orderer颁发注册证书。并假定在启动过程中配置了Alice和Bob可以创建管道。

step1. 应用程序发起一个为Alice和Bob背书的配置交易请求去创建一个名字为“foo” 的管道。之后通过RPC 广播发送把这个配置交易发送到ordering 服务。

stpe2.应用之后在管道 foo 内调用Deliver RPC, 如果管道没有创建成功或是还正在创建,RPC会一直返回错误直到管道foo创建成功。一旦管道创建成功,RPC就返回管道数据流,在这个时候,管道才刚刚创建,所以只有一个包含了相关orderer的创世块和配置交易。

step3. 应用调用Alice和Bob上的CSCC,通过发送管道foo的创世块到这两个节点上来使得这两个节点加入到管道。Alice和Bob检查接收到的创世块,包括检查配置交易中的背书签名。如果通过了管道中的参与者列表将会更新成最新的成员列表,ordering服务也会自动替换成员列表,并发送配置交易到新的节点上。之后就同步一个完整账本到本地并开始从管道上接收发过来的交易块。

ESCC (背书系统链码)
CSCC(配置系统链码)

  • 不使用链码类型的交易,那样ordering节点会对交易进行排序,封装,分发等操作带来复杂性。

2. 查询各种配置数据。

查找操作是通过发送一个查询交易到指定链码ID的CSCC中去查找,查找交易的返回内容是一个交易块,包括了成员证书和其他配置数据。
注:查找操作也只仅限于已订阅了该管道的节点,其他未经过证书验证的节点无法查找。

3. 终止管道

终止配置交易执行后,orderer将会销毁这个管道,那么之后在这个管道的交易都会失败。虽然管道销毁了,节点成了一个孤立节点(假如只有订阅了一个管道),但是节点内原本维持的账本不会自动销毁。

Hyperledger Fabric 管道(2) 管道的操作相关推荐

  1. Hyperledger Fabric 官网翻译入门教程--之关键概念(Hyperledger Fabric 模型)

    英文地址:http://hyperledger-fabric.readthedocs.io/en/latest/fabric_model.html Hyperledger Fabric Model/ ...

  2. Hyperledger Fabric 管道(1) 基本概念

    1. 设计目的 让交易方在各自独立的管道内进行交易,保障交易的秘密性和私有性.一个管道内的交易对其他管道是不可见.每个channel可以理解成独立的hyperledger fabric的实例/子网,通 ...

  3. java 管道流的读写操作 用于两个线程之间的通信

    /* java 管道流的读写操作 用于两个线程之间    PipedOutputStream    PipedInputStream  连接起来就是一个管道     管道输出流可以向管道写入数据   ...

  4. lambda表达式——Stream管道流的map操作

    lambda表达式--Stream管道流的map操作 一.回顾Stream管道流map的基础用法 二.处理非字符串类型集合元素 三.再复杂一点:处理对象数据格式转换 四.flatMap 一.回顾Str ...

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

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

  6. Blurring the Lines between Blockchains andDatabase Systems: the Case of Hyperledger Fabric(翻译)

    Blurring the Lines between Blockchains and Database Systems: the Case of Hyperledger Fabric ABSTRACT ...

  7. Scaling Hyperledger Fabric Using Pipelined Execution and Sparse Peers(提升fabric 6倍性能的文章翻译)

    本文章是记录我对hyperledger fabric pipelined ABSTRACT 许多使用Hyperledger Fabric(允许使用的区块链平台)构建的区块链应用程序的概念证明,最近已经 ...

  8. HyperLedger Fabric 学习思路分享

    HyperLedger Fabric 学习思路分享 HyperLedger Fabric最初是由Digital Asset和IBM公司贡献的.由Linux基金会主办的一个超级账本项目,它是一个目前非常 ...

  9. 浅析Hyperledger Fabric共识算法

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 区块链系统是一个分布式架构,交易账本信息由各个节点管理,组成一个庞大的分布式账本.在分布式系统中,各个节点收到的交易信息 ...

  10. Hyperledger Fabric(术语表)

    术语表 术语很重要,以便所有Hyperledger Fabric用户和开发人员都同意每个特定术语的含义,例如,什么是智能合约.文档将根据需要引用术语表,但如果你愿意,可以随意阅读整个内容:这很有启发性 ...

最新文章

  1. Mybatis-Plus自动填充的实现示例
  2. 单机mysql能支撑起10w的qps_高并发redis - 读写分离支撑qps10w+
  3. javascript 忍者秘籍读书笔记
  4. css3优惠卷上方锯齿_css3怎么实现锯齿边框?
  5. Kylin3.1.3连接Hbase报错找不到 hbase-common lib not found的解决办法
  6. 逆向知识第十讲,循环在汇编中的表现形式,以及代码还原
  7. jade软件_TEM衍射斑点标定之DM软件
  8. springboot 关于 Class path contains multiple SLF4J bindings.警告的解决
  9. linux禁止内核抢占,Linux内核态抢占机制分析
  10. python map 函数使用
  11. 逻辑回归详解及Python实现
  12. 数字信号处理中均值、均方值、均方差、均方根值、均方误差、均方根误差、方差、协方差、标准差对比分析及统计学意义
  13. 日积(Running)月累(ZSSURE):看山不是山看水不是水,2017
  14. Redis-6.2.* 版本配置文件redis.conf详解
  15. 69的人因为穷不谈恋爱,这届年轻人脱单太难了
  16. 斐波那契数列(python)
  17. HMC5883L地磁传感器驱动
  18. 60GHz通信标准简介
  19. 真香!送一台27寸4K高清显示器
  20. php .accdb,PHP:调试与Access数据库(.accdb)的PDO连接

热门文章

  1. 测试mysql安装成功_MySQL安装之“测试”
  2. mysql有两个结果集,MySQL:两个结果集的差异
  3. pccs色卡_NCS色彩体系与PCCS色彩体系如何关联使用
  4. 运维人员 | 需要了解的数据中心的网络威胁
  5. 9招!解决空调总是报低压报警的问题
  6. 数据中心ECC值班长岗位提升工作总结
  7. mysql 6.5安装_(整理)MySQL_REHL6.5 安装MySQL5.5
  8. mysql errno : 1146_MySQL_MySQL复制出错 Last_SQL_Errno:1146的解决方法,背景:我们在做数据迁移或者 - phpStudy...
  9. 无限乱斗机器人ap出装_LOL:无限火力仅剩4天,这5个英雄一定要尝试!
  10. Dataset:机器学习和深度学习中对数据集进行高级绘图(数据集可视化,箱线图等)的简介、应用之详细攻略——daidingdaiding