美文网首页区块链hyperledger fabric
Hyperledger Fabric技术介绍

Hyperledger Fabric技术介绍

作者: 宋song一 | 来源:发表于2018-11-24 23:20 被阅读7次

    Hyperledger Fabric是分布式账本技术(DLT)的一种实现,可在模块化区块链架构中提供企业级网络安全性,可扩展性,机密性和性能
    Hyperledger Fabric与其他区块链系统最大的不同体现在私有和许可。与开放无需许可的网络系统允许未知身份的参与者加入网络不同(需要通过工作量证明协议来保证交易有效并维护网络的安全),Hyperledger Fabric通过Membership Service Provider(MSP)来登记所有的成员
    Fabric中的智能合约称为链码(Chaincode),逻辑(business logic)=链上代码(Chaincode)=智能合约

    通过 chaincode ,我们可以查询,读写 Blockchain Ledger,Blockchain Ledger 又叫做账本。由 the world state 和 Blockchain 组成。the world state 主要服务于 chaincode 的查询。而 Blockchain是用于流水线式记录交易。
    大多数情况下,chaincode只会访问账本的数据库组件和世界状态(world state)(比如查询),但不会查询交易记录

    技术特性

    • 1.多通道(channel)。公链一般为单账本
    • 2.智能合约
    • 3.权限系统MSP(membership Service Provider)
    • 4.共识算法

    共识:

    共识插件需要实现共识包 定义的ConsenterChain接口。已经有两个针对这些接口构建的插件:solokafka

    • Solo(单节点共识)
      单个节点中完成排序的方法,单点故障,整个系统都无法运行。通常只是用在演示系统和本机开发环境中。
      Solo不适合生产。它不是,也永远不会是容错的
    • Kafka(分布式队列)
      高吞吐量的分布式发布订阅消息系统
    • BFT(拜占庭容错)(目前不支持)

    State Database状态数据库

    当前状态数据存储在状态数据库中,用于从Chaincode进行有效的读取和查询。
    支持的数据库包括levelDB和couchDB

    Chaincode编程语言

    Chaincode可以用任何编程语言编写并在容器中执行。目前,支持Golang,node.js和java chaincode。

    也可以使用Hyperledger Composer构建Hyperledger Fabric应用程序

    核心模块

    成功编译完成后,有5个核心模块。基于命令行方式运行

    模块名称 功能
    peer 主节点模块,负责存储区块链数据,运行维护Chaincode
    orderer 交易打包、排序模块
    cryptogen 组织和证书生成模块
    configtxgen 区块和交易生成模块
    configtxlator 区块和交易解析模块

    peer和orderer属于系统模块,是Fabric的核心模块,启动之后会以守护进程的方式在系统后台长期运行。其余3个属于工具模块,不参与系统运行
    开发通常都是从cryptogen模块开始的。系统设计完成后的第一项工作就是根据系统设计编写cryptogen的配置文件,其使用的配置文件是整个Fabric项目的基石。
    peer模块是Fabric中最重要的模块,也是使用最多的模块

    通用选项

    1.--help选项
    显示命令行模块的所有选项

    查询子命令的选项信息:模块名+子命令+ --help

    1. -v,--version
      获取当前模块的版本信息

    配置

    配置信息由配置文件、命令行选型、环境变量组成
    环境变量>配置文件>命令选项
    环境变量和配置文件可以相互转化,建议尽量把参数配置在统一的格式中。

    1. 如果基于Docker运行,建议采用环境变量的配置方式。
    2. 如果用命令直接启动,建议采用配置文件参数配置方式

    相关文章

      网友评论

        本文标题:Hyperledger Fabric技术介绍

        本文链接:https://www.haomeiwen.com/subject/xtsyqqtx.html