Fabric01-2

2019-04-22  本文已影响0人  刘岩2019

准备工作

  1. 官方帮助文档:https://hyperledger-fabric.readthedocs.io/en/release-1.2/
  2. 安装 cURL(https://curl.haxx.se/download.html),curl --version 查询版本
  3. 安装docker,docker --version 查询版本
  4. 安装docker-compose,docker-compose --version 查询版本
  5. 安装 go 语言环境,go version 查询版本
  6. 安装node.js, node -v 查询版本
  7. Python 版本要求为 2.7,python --version 查询版本

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s 1.4.1 1.4.1 0.4.15

1.JPG
# fabric-peer :存储账本
# fabric-orderer :排序结点,没有矿工,不用挖矿,相当于矿工
# fabric-ccenv :go的运行环境,智能合约(链码)支持go语言编程
# fabric-tools :工具节点,作为客户端使用
# fabric-ca :注册账号
# fabric-couchdb : 数据库,key-value
# fabric-kafka :排序服务器
# fabric-zookeeper :kafka工作的时候需要zookeeper 协助

设置fabric中的可执行程序全局访问

/home/itcast
ls -a
vi .bashrc
最后一行写:export PATH=/home/itcast/hyperledger-fabric/fabric-samples/bin:$PATH
. .bashrc //生效

测试网络演示

cd /home/itcast/hyperledger-fabric/fabric-samples/first-network
./byfn.sh generate
./byfn.sh up
./byfn.sh down

一:Hyperledger Fabric基本概念

1.Hyperledger简介

Hyperledger项目,Linux基金会托管,IBM牵头做的,Hyperledger里有很多模块,其中最大的,最重要最核心的模块Fabric,其他模块都是为Fabric服务的.

2.Hyperledger Fabric是什么

Hyperledger Fabric是一个框架,私有网络(不发币),里面有一个账本,账本的操作需要使用智能合约,Hyperledger Fabric是参与者管理交易的系统.比如:淘宝买东西,也是交易,但是有中心服务器,Fabric可以替换,并且去掉中心服务器.不会出错,效率更高了.Fabric支持溯源.

3.特点

Hyperledger Fabric与其他区块链系统不同的地方是私有和许可。
(1)私有:Fabric中所有的数据都是受保护的,私有的,私有网络,想看数据,必须加入到小的网络中去,Hyperledger Fabric支持隐私, 提供了创建通道的功能,允许一组参与者中部分成员创建单独的交易账本。

(2)许可:通过正规的渠道申请,得到账号,账号是数字证书(CA证书),能够保证网络中数据安全性.任意一笔交易都需要签名,非对称加密,私钥签名,别人用公钥验证,Hyperledger Fabric网络的成员通过可信赖的,会员服务提供商(MSP)注册,获取签发证书,有了证书,还要有秘钥对,而不是开放式的无权限系统。

二:Hyperledger Fabric逻辑架构

(一).成员服务:身份管理

(二).共识服务

(三).链码服务:智能合约


1.用户身份:
2-1.账本管理:账本在peer节点上, 由两部分组成
2-2.交易管理
3.智能合约: 链码,需要部署到有账本的peer结点上,智能合约的编写支持的语言 go, node.js

三:Peer(结点)、Ledger(账本)和 ChainCode(链码,智能合约)关系

1.Ledger账本:在peer节点上,默认就有
2.ChainCode智能合约:程序猿编写完智能合约, 然后安装到peer节点,默认是没有,客户端调用链码(智能合约), 链码修改账本

在一个peer节点上可以同时有多个账本,账本和账本之间数据不可见, 相互隔离,一个账本可以对应一个合约, 也可以是多个

1.JPG

四:通道(channel)

用来隔离数据的, 用户在不同的通道中, 使用的数据是不同的, 而且数据不共享, 理解为群
通道是由共识服务(ordering)提供的一种通讯机制,将peer和orderer连接在一起,形成一个个具有保密性的通讯链路(虚拟),实现了业务隔离的要求

1.JPG
2.JPG

五:组织(channel)

fabric中的组织是通过职能划分的
在Fabric中一个组织里边都有什么?

图:


1.JPG

p1- p8: peer节点
a1-a4: 客户端
C: 通道
org1 - org4: 组织

1.组织1中有2个peer节点,在同一个组织中peer结点的职责相同, 没有部署在同一个地方,同一个组织的节点上安装的智能合约相同,不同组织的节点,安装的智能合约不同,每个组织内用一个专门的客户端, 用来访问当前组织内的节点

2.组织1中要存储数据,修改账本数据,需要客户端a1,a1作用连接peer1或者peer2

3.多个组织加入到同一个通道, 那么这些组织中节点上的账本数据相同

上一篇下一篇

猜你喜欢

热点阅读