zoukankan      html  css  js  c++  java
  • Hyperledger Fabric Chaincode解析

    首先看下Blockchain结构,除了header指向下一个block的hash value外,block是由一组transaction构成, Transactions --> Blocks --> Ledger

    1. Chaincode是生成transacton的唯一方式,是外界与区块链系统交互的唯一渠道,开发Fabric区块链应用就是编写Chaincode, Chaincode就是业务逻辑实现

    2. Fabric预先定义了Chaincode接口,Chaincode实际上是一种接口的实现(理论上编程语言都可以去实现这些接口,目前支持go, java),以下是必须要实现的接口

    type Chaincode interface {
        // deploy transaction被调用,一般只调用一次
        Init(stub ChaincodeStubInterface) pb.Response
    
        // 查询或更新账本,可多次调用
        Invoke(stub ChaincodeStubInterface) pb.Response
    }

    3. Chaincode编写好后,需要部署在Fabric的节点上, 运行在Docker容器中(开发chaincode的时候建议本地调试)

    4. Chaincode也称为智能合约,Chaincode就是智能合约的实现方式,两者等同。感觉上Chaincode是技术用语,智能合约(Smart Contract)是业务用语。官方文档关于两者是这样表述的:

    A chaincode typically handles business logic agreed to by members of the network, so it may be considered as a “smart contract”.

    5. 区块链是一个复杂的系统,涉及很多技术领域,包括密码学、分布式系统设计、数据库设计、性能、扩展性、系统集成和运营,底层的系统会变成blockchain as a service,大多数应用开发和运维人员不需要涉及底层的架构,更多的会围绕着Chaincode来做开发

    官方文档:https://hyperledger-fabric.readthedocs.io/en/release/chaincode.html

    chaincode for 开发人员: https://hyperledger-fabric.readthedocs.io/en/release/chaincode4ade.html

    chaincode for 运维人员: https://hyperledger-fabric.readthedocs.io/en/release/chaincode4noah.html

  • 相关阅读:
    iPhone 6和iPhone 6 plus的AV Foundation框架特性
    实时人脸识别
    相机 视频流数据--预览 拍照 变焦
    AVCaptureStillImageOutput获取静态图像
    jquery返回上一页面
    js闭包
    一些正则匹配
    嵌套 click 第二层 click会叠加 导致 触发 多次
    QPS
    除了汉字全部过滤
  • 原文地址:https://www.cnblogs.com/huahuayu/p/8404560.html
Copyright © 2011-2022 走看看