Hyperledger Fabric技术介绍

证始 · · 2148 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Hyperledger Fabric是分布式账本技术(DLT)的一种实现,可在模块化区块链架构中提供企业级网络安全性,可扩展性,机密性和性能
Fabric中的智能合约称为链码(Chaincode),逻辑=链上代码(Chaincode)=智能合约

通过 chaincode ,我们可以查询,读写 Blockchain Ledger,Blockchain Ledger 又叫做账本。由 the world state 和 Blockchain 组成。the world state 主要服务于 chaincode 的查询。而 Blockchain是用于流水线式记录交易。

技术特性

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

共识:

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

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

State Database状态数据库

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

Chaincode编程语言

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

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

核心模块

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

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

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

通用选项

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

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

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

配置

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

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

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:证始

查看原文:Hyperledger Fabric技术介绍

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2148 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传