当前位置: 首页 > news >正文

Hyperledger Fabric介绍

  • 身份管理
    Identity,也就是身份管理,Fabric是目前为止在设计上最贴近联盟链思想的区块链。联盟链考虑到商业应用对安全、隐私、监管、审计、性能的需求,提高准入门槛,成员必须被许可才能加入网络。Fabric成员管理服务为整个区块链网络提供身份管理、隐私、保密和可审计的服务。成员管理服务通过公钥基础设施PKI和去中心化共识机制使得非许可的区块链变成许可制的区块链。

  • Smart Contact - 智能合约
    Fabric的智能合约smart contract称为链码chaincode,是一段代码,它处理网络成员所同意的业务逻辑。和以太坊相比,Fabric链码和底层账本是分开的,升级链码时并不需要迁移账本数据到新链码当中,真正实现了逻辑与数据的分离。
    链码可采用Go、Java、Node.js语言编写。链码被编译成一个独立的应用程序,fabric用Docker容器来运行chaincode,里面的base镜像都是经过签名验证的安全镜像,包括OS层和开发chaincode的语言、runtime和SDK层。一旦chaincode容器被启动,它就会通过gRPC与启动这个chaincode的Peer节点连接。

  • Ledger及Transactions - 账本和交易
    Fabric使用建立在HTTP/2上的P2P协议来管理分布式账本。采取可插拔的方式来根据具体需求来设置共识协议,比如PBFT,Raft,PoW和PoS等。

  • Ledger
    账本Ledger主要包含两块:blockchain和state。blockchain就是一系列连在一起的block,用来记录历史交易。state对应账本的当前最新状态,它是一个key-value数据库,Fabric默认采用Level DB, 可以替换成其他的Key-value数据库,如Couch DB。举个例子。我们采用区块链实现一个弹珠交易的系统。我们开发了一个Chaincode, 每个弹珠有以下几个属性:Name, owner, color, size. 可以定义一个JSON对象,用name做KEY, JSON对象做Value,存储在Level DB或者CouchDB中。

  • Transactions
    Fabric上的transction交易分两种,部署交易和调用交易。
    部署交易
    把Chaincode部署到peer节点上并准备好被调用,当一个部署交易成功执行时,Chaincode就被部署到各个peer节点上。好比把一个web service或者EJB部署到应用服务器上的不同实例上。
    调用交易
    客户端应用程序通过Fabric提供的API调用先前已部署好的某个chaincode的某个函数执行交易,并相应地读取和写入K-V数据库,返回是否成功或者失败。

相关文章:

  • 下载hyperledger-fabric源码
  • 谷歌浏览器安装
  • docker 安装mysql8
  • 区块链相关网站
  • dokcer通过 Dockerfile 构建部署tomcat图文详解
  • SOLID原则
  • json注意事项
  • golang与protobuf
  • protobuf在ubuntu安装
  • protobuf中数据格式与类型
  • potobuf生成文件
  • GO get下载困难问题
  • c语言二叉树
  • 丹华资本与区块链
  • hyperledger生成证书命令
  • angular2开源库收集
  • Centos6.8 使用rpm安装mysql5.7
  • classpath对获取配置文件的影响
  • codis proxy处理流程
  • ECS应用管理最佳实践
  • ES6系统学习----从Apollo Client看解构赋值
  • ES学习笔记(12)--Symbol
  • exif信息对照
  • gulp 教程
  • JavaScript设计模式系列一:工厂模式
  • JS变量作用域
  • Object.assign方法不能实现深复制
  • React系列之 Redux 架构模式
  • 多线程 start 和 run 方法到底有什么区别?
  • 跨域
  • 入门到放弃node系列之Hello Word篇
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #{}和${}的区别是什么 -- java面试
  • #define,static,const,三种常量的区别
  • #NOIP 2014# day.1 T2 联合权值
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (图)IntelliTrace Tools 跟踪云端程序
  • (转)使用VMware vSphere标准交换机设置网络连接
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET CF命令行调试器MDbg入门(一)
  • .Net CF下精确的计时器
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .net/c# memcached 获取所有缓存键(keys)
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .NET微信公众号开发-2.0创建自定义菜单
  • ::前边啥也没有