本教材由知了传课辛苦制作而成,仅供学习使用,请勿用于商业用途!如进行转载请务必注明出处!谢谢!

fabric介绍

一、fabric介绍

Hyperledger(超级账本)是Linux基金会旗下的项目,Fabric是Hyperledger项目里最早也是目前应用最广泛的区块链项目,最初由IBM开发,后来捐助给基金会。

  • 是一个开源的企业级需要许可的分布式账本技术平台
  • 是一个高度模块化和可配置架构(a,b,c)
  • 支持不同组件的可插拔实现
  • 智能合约支持多语言:go,java,node.js等

二、fabric和以太坊的区别

以太坊:

  • “链”是信任的锚点,所有的信任都来自于链
  • 有自己的沙盒执行环境(EVM)
  • solidity编写合约及部署
  • 不会拆散了来用。

Fabric :

  • 每个智能合约可以创建新的链,也可以和其他智能合约共用一个链
  • 使用了 Docker 机制实现智能合约
  • 可以使用很多语言开发智能合约,go,java。。。
  • 身份管理
  • 灵活性更高
  • 更像一个区块链云服务平台,能够让用户方便的在基础平台上,使用各个模块创建一个一个的链进而实现一个一个的应用。

二、身份管理介绍

  1. 成员管理
  2. 注册服务:注册成功得到的是证书,不是用户名和密码
  3. 证书:签名认证
  4. 交易审计

三、账本:每个节点中都有

区块链(保存到本地磁盘中):

  • 存储所有交易记录(tx array),也就是交易的链数据,tx里面存储读和写的数组
  • 可以用来历史数据查询
  • 每个区块中包含的数据有:blockHash,blockNum,txid

世界状态:

  • 存储数据的最新状态
  • 存储的是键值对,存储在当前节点的数据库中,默认数据库:level DB(couchdb也可以,需配置)
  • 链码模拟查询(chaincode simulation queries)
  • 数据库中包含的数据有:txid,data,owner

四、交易管理介绍

  1. 部署交易
  2. 部署的是链码,给节点安装链码(chaincode)
  3. 调用交易
  4. invoke

五、智能合约

链码服务等

六、节点介绍

client:进行交易管理

  • cli:shell命令
  • node.js:api实现
  • go sdk:api实现
  • java sdk:api实现

peer:

  • 存储和同步账本数据:数据提交到某一个节点,然后从这个节点同步到其他节点,fabric自带的同步机制可以自动同步数据到其他节点

order:排序和分发交易,排序为了解决双花问题

  • 交易数据打包写入到区块中

七、组织介绍

  1. 有用户
  2. 有节点

八、通道介绍–channel

  1. 一种共识服务提供的通讯机制,将peer和order连接到一起,形成一个具有保密性的通讯链路
  2. 也与账本状态紧密相连
  3. 不同通道中的数据十互相独立的,不共享的,业务隔离
  4. 可以理解为一个分组,在同一个分组中的数据可以同步
  5. 一个peer节点可以同时加入到不同的通道中,相当于一个人可以同时加入多个分组

十、证书:TLS

通信都是加密,必须使用证书

1848人已阅读,今天你学习了吗?

添加新回复