区块链hyperledger fabric

Hyperledger Fabric技术介绍

2018-11-24  本文已影响7人  宋song一

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)(比如查询),但不会查询交易记录

技术特性

共识:

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

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. 如果用命令直接启动,建议采用配置文件参数配置方式
上一篇下一篇

猜你喜欢

热点阅读