Hyperledger学习(二)

Hyperledger学习(二)

channel

  • 每个channel可以理解成独立的hyperledger fabric实例

  • 所以可以创建channel来达到私有转账的目的

  • peer只有加入到channel里后,才有blockchain和hyperledger,有新的peer想加入channel,需要满足一些安全策略

  • 一个peer可能加入多个channel,一个channel可能有多个peer,不同的channel是独立的,数据不混淆

chaincode

  • chaincode就是智能合约(链码)

  • chaincode属于某个channel,一个channel可以有多个chaincode,每个chaincode都运行在一个docker容器中,即使代码出错也不会影响peer

  • 生命周期
    • 安装install
    • 实例化init
    • 调用invoke
  • 每个peer可以属于多个channel,每个channel有独立的ledger,每个channel可以有一个或者多个chaincode,每个chaincode可以有不同的背书策略

Hyperledger工作流程

在这里插入图片描述

  • 一个组织,三个peer在同一个channel里
  • 1.提案:我想修改账本上的某个资产的归属
    • peer收到提案后,先模拟执行,执行完毕后会产生一个读写集,记录了哪一个key被更新
    • 这个数据更新完后,又产生了新的version
    • 可以参考MySQL数据库的MVCC
  • 2.背书:每个peer节点都作了签名,模拟执行的结果返回给SDK
  • 3.更新申请:一旦SDK收集到足够多的背书(根据之前的策略),就发送更新申请
  • 4.调用更新:ordering service 检测请求合法后,peer把更新应用,具有审计功能
  • ordering service 还有排序作用(参照串行化的概念),一般有多个order节点

MSP - membership service provider

你是谁,你在哪个channel?

证书由CA颁发,只有拥有相同MSP的peer才能相互发现和通讯

  • permissioned network ,Hyperledger是身份许可的网络
原创文章 40 获赞 16 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43925277/article/details/105977680