美文网首页区块链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