Fabric 区块链账本
HyperLedger Fabric 最初是由Digital Asset 和IBM公司贡献的,由linux基金会主办一个超级账本项目,它是一个目前非常流行并广为认知的区块链网络框剪的实现方案。
HyperLedger Fabric利用Docker容器技术来运行 称"chaincode"的智能合约,该合约包含了系统的应用程序逻辑.(俗称链码)
作用可以分:共有链,私有链,联盟链
联盟链包含公有链与私有链
1.共性账本
HyperLedger Fabric有一个分类子系统,包括两个组成部分:世界状态(world state)和事务日志(transaction log)
世界状态组件描述了总帐的状态,他记录了账本中所有数据的最新值
事务日志主键记录所有导致当前世界状态值改变的事务,这是世界状态的更新历史。
2.智能合约(链码)
HyperLedger Fabric 的智能合约是用Chaincode(链码)编写的,用于应用程序与账本进行交互时被调用。
Chaincode可以用几种编程语言实现,目前支持的Chaincode编写的是GO语言。
3.隐私(多通道)
根据网络的需要,企业对企业(B2B)网络的参与者可能对他们所共享的信息非常敏感。
HyperLedger Fabric 支持使用通道技术将数据进行隔离,可以实现各通道的隐私保护。
不同通道之间的数据是不可见的。
4.共识(主要确保数据的准确性)
事务必须按照它们发生的顺序写在账本上,即使它们可能是网络中不同的参与者生成的。
要做到这一点,必须建立事务的顺序,并且必须在账本中建立一种拒绝错误事务的方法。
只有当所有事务都通过共识验证之后,该事务才是有效的,才会写入账本
关于HyperLedger Fabric 共识机制,他目前包括SOLO和Kafka,并将很快扩展的SBFT(简称拜占庭式容错)
5. 身份管理
HyperLedger Fabric 提供了一个成员身份服务
它管理区块链中所有联盟/组织/用户的身份以及相应的权限
关于Hyperledger Fabric网络的一个真理是,成员相互了解身份,但他们不知道彼此在做什么
Docker介绍
启动Fabric网络中的节点需要预先安装Docker,Docker,Compose和Go语言环境,然后在网上拉取相关的Docker镜像,在通过配置Compose文件来启动各个节点.
轻量:在一台机器运行的多个Docker容器可以共享这台机器的操作内核;它们能够迅速启动,只需要占用很少的计算器
标准:
安全:
Docker俩个概念:
镜像:压缩包
容器(Container)镜像运行时的实体
虚拟机Ubuntu命令(常用)
cd 跳转命令
例:cd 路径名 cd ./ 本级目录 cd ../ 上级目录
pwd 打印当前所在的位置
ls 打印目前位置所有的文件 -a -l
ll 相当于 ls -l
ls -a
ls -l 权限 大小
mkdir 创建目录 -p(不存在即创建)
chmod 加权限
go version 1.11.10
docker version 18.09.7
docker -compose -v 1.8.0
fabric 1.2
fabric -samples 1.2