1.智能合约


  • 执行环境安全隔离、不受第三方干扰
  • 链码


    • 是fabric应用层的基石,是应用层与底层的桥梁
    • 执行环境是一个独立的docker环境
    • 通过gRPC协议与背书节点连接,只有背书节点才会运行链码


  • 链码的生命周期


    • 打包
    • 安装
    • 实例化
    • 升级
    • 交互


  • 链码的交互流程
    2.06 hyperledger fabric智能合约_执行环境
  • 系统链码


    • LSCC(Lifecycle System Chaincode),用于管理链码的生命周期
    • CSCC(Configuration System Chaincode),是配置管理链码
    • QSCC(Query System Chaincode),用于查询账本存储
    • ESCC(Endorsement System Chaincode),交易背书链码
    • VSCC(Validation System Chaincode),用作交易验证


  • 链码编程接口


    • Init()
    • Invoke()


  • 例子示范

    • fabric_asset/chaincode/badexample/badexample.go


2.网络搭建配置的实现


  • 配置文件准备


    • 设置工作路径
      2.06 hyperledger fabric智能合约_执行环境_02
    • 进入配置文件目录
      2.06 hyperledger fabric智能合约_应用层_03
    • 生成证书文件
      2.06 hyperledger fabric智能合约_初始化_04
    • 可以查看生成的证书
      2.06 hyperledger fabric智能合约_初始化_05
    • 创建目录
      2.06 hyperledger fabric智能合约_应用层_06
    • 生成系统链的创世区块
      2.06 hyperledger fabric智能合约_初始化_07
    • 生成通道的创世交易
      2.06 hyperledger fabric智能合约_初始化_08
    • 分别生成两个组织关于通道的锚节点交易
      2.06 hyperledger fabric智能合约_执行环境_09
      2.06 hyperledger fabric智能合约_应用层_10


  • 网络启动


    • 启动网络
      2.06 hyperledger fabric智能合约_初始化_11
    • 查看orderer节点日志
      2.06 hyperledger fabric智能合约_执行环境_12
    • 查看peer节点日志
      2.06 hyperledger fabric智能合约_执行环境_13


  • 初始化和操作链码


    • 进入client进行初始化操作
      2.06 hyperledger fabric智能合约_执行环境_14
    • 创建通道
      2.06 hyperledger fabric智能合约_初始化_15
    • 加入通道
      2.06 hyperledger fabric智能合约_初始化_16
    • 设置主节点
      2.06 hyperledger fabric智能合约_执行环境_17
    • 安装链码
      2.06 hyperledger fabric智能合约_初始化_18
    • 查看安装的链码
      2.06 hyperledger fabric智能合约_应用层_19
    • 查看链码版本
      2.06 hyperledger fabric智能合约_执行环境_20
    • 链码实例化
      2.06 hyperledger fabric智能合约_初始化_21
    • 查看镜像
      2.06 hyperledger fabric智能合约_初始化_22
    • 查看部署的链码日志
      2.06 hyperledger fabric智能合约_应用层_23
    • 链码查询
      2.06 hyperledger fabric智能合约_应用层_24
      2.06 hyperledger fabric智能合约_初始化_25



2.06 hyperledger fabric智能合约_初始化_26