Hyperledger Fabric之MSP详解

HyperledgerFabric之MSP机制,功能及使用场景详解。

 

Hyperledger Fabric之MSP详解

一.Fabric1.0中一个完整的fabric账号(MSP)

 

Hyperledger Fabric之MSP详解

1.msp文件夹

 

Hyperledger Fabric之MSP详解

2.tls文件夹

主要存放加密通信相关的证书文件。

二.使用

1.启动Orderer需要的账号

环境变量设置账号:

- ORDERER_GENERAL_LOCALMSPDIR=/traceabilityProject/orderer/crypto-config/ordererOrganizations/trace.com/orderers/orderer1.trace.com/msp

 

Hyperledger Fabric之MSP详解

 

Hyperledger Fabric之MSP详解

2.启动Peer需要账号

3.创建Channel需要账号

需配置环境变量:

- CORE_PEER_MSPCONFIGPATH=/traceabilityProject/peer/crypto-config/peerOrganizations/org3.trace.com/users/Admin@org3.trace.com/msp

Peer和Orderer都有属于自己的账号,创建Channel使用的是用户账号。其中Peer和创建Channel的用户账号属于某个组织,而Orderer的启动账号属于他自己。

4.cryptogen

 

Hyperledger Fabric之MSP详解

5.基于cryptogen成员管理体系

cryptogen可以新增节点,若需要增加新节点,可以给配置文件中Start属性赋值上一次的count。

如果需要给组织Org1新增加3个Peer节点,可以使用下面配置:

 

Hyperledger Fabric之MSP详解

但是需要动态地增加用户账户目前版本Fabric无法实现。

使增加节点和用户账号的方式简单的方法:。

6.Fabric-ca

(1)配置fabric-ca-server并启动

 

Hyperledger Fabric之MSP详解

(2)使用fabric-ca-client

 

Hyperledger Fabric之MSP详解

Org1.example.com的MSP文件:

 

Hyperledger Fabric之MSP详解

7. MSP结构设计

若有两个独立的组织,则fabric生成MSP:

 

Hyperledger Fabric之MSP详解

事业部独立组织:

 

Hyperledger Fabric之MSP详解

“加盟店”组织:

 

Hyperledger Fabric之MSP详解

8. Fabric构建区块链网络模式

Fabric 提供了两种构建区块链网络的模式,即离线模式和在线模式。在离线模式下,证书通过一个CA 生成,井分发到所有节点, Peer 节点和Orderer 节点只能通过离线模式注册。为了客户端可以拉取证书, Fabric CA 提供了在线模式为客户端生成证书。

9. MSP 在 Hyperledger Fabric 中的分类

1.网络MSP

对整个 Hyperledger Fabric 网络中的成员进行管理;定义参与组织的 MSP ,以及组织成员中的哪些成员被授权执行管理任务(如创建通道)

2.通道MSP

对一个通道中的组织成员进行管理。通道在特定的一组组织之间提供私有通信。在该通道的 MSP 环境中通道策略定义了谁有权限参与通道上的某些行为(如添加组织或实例化链码)。

3.Peer MSP

本地 MSP 在每个 Peer 的文件系统上定义,并且每个 Peer 都有一个单独的 MSP 实例。执行与通道 MSP 完全相同的功能,其限制是它仅适用于定义它的 Peer。

4.Orderer MSP

与 Peer MSP 相同,Orderer 本地 MSP 也在其节点的文件系统上定义,仅适用于该节点。

5.User MSP

每一个组织都可以拥有多个不同的用户,都在其 Organizations 节点的文件系统上定义,仅适用该组织(包括该组织下的所有 Peer 节点)。

10. MSP 是如何实现对身份的验证?

身份验证过程:

首先,使用证书颁发机构对用户身份进行验证。证书颁发机构标识应用程序、Peer 和 Orderer 标识,并验证这些凭据。通过使用签名算法和签名验证算法生成签名。具体地,生成签名以签名算法开始,签名算法利用与其各自身份相关联的实体的凭证,并输出认可。生成签名,该签名是绑定到特定标识的字节数组。

接下来,签名验证算法将身份,认可和签名作为输入,如果签名字节数组与输入的认可的有效签名相对应,则输出 'accept',否则输出 'reject'。如果输出是 'accept',则用户可以看到网络中的事务并与网络中的其他参与者执行事务。如果输出为 'reject',则表示用户未经过身份验证,并且无法向网络提交事务或查看任何的事务。

11. 用户分类举例

在学历征信溯源系统中,由于系统需要保证人才受教育情况真实性,所以对于系统的用户而言,不可能由用户自己添加相应的学历信息,而是由具有一定权限的用户来完成添加或修改的功能。但普通用户可以通过系统溯源功能来确定信息的真伪。所以我们将系统用户的使用角色分为两种:

普通用户

普通用户具有对数据的查询功能 ,但实现查询之前必须经过登录认证:

  • 用户登录:系统只针对合法用户进行授权使用,所以用户必须先进行登录才能完成相应的功能。
  • 查询实现:查询分为两种方式实现

(1)  根据证书编号与姓名查询:根据用户输入的证书编号与姓名进行查询。

(2) 根据身份证号码查询:根据用户输入指定的身份证号码进行查询,此功能可以实现溯源。

管理员用户

管理员用户除具有普通用户的功能之外,额外添加了两个功能:

  • 添加信息:可以向系统中添加新的学历信息。
  • 修改信息:针对已存在的学历信息进行修改。

原文链接:Hyperledger Fabric之MSP详解 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要安装Hyperledger Fabric v1.4.4,您可以按照以下步骤操作: 1. 安装必要的软件:您需要在计算机上安装以下软件:Docker,Docker Compose,Go语言环境,Node.js和npm包管理器。 2. 克隆Hyperledger Fabric源代码:使用git工具,您可以克隆Hyperledger Fabric源代码到您的计算机上。使用以下命令: ``` git clone -b v1.4.4 https://github.com/hyperledger/fabric.git ``` 3. 下载所需的Docker镜像:使用以下命令下载所需的Docker镜像: ``` cd fabric curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/v1.4.4/scripts/bootstrap.sh | bash -s -- 1.4.4 ``` 4. 启动Fabric网络:使用以下命令启动Fabric网络: ``` cd fabric-samples/first-network ./byfn.sh generate ./byfn.sh up ``` 这将启动一个由两个组织和四个对等节点组成的Fabric网络。 5. 安装Fabric CLI:使用以下命令安装Fabric CLI: ``` npm install -g fabric-cli ``` 6. 测试Fabric网络:使用以下命令测试Fabric网络: ``` fabric-cli chaincode invoke -o orderer.example.com:7050 -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}' ``` 这将在Fabric网络上调用名为“mycc”的智能合约,并将“a”账户中的10个单位的货币转移到“b”账户中。 这些步骤将帮助您在您的计算机上安装Hyperledger Fabric v1.4.4并运行一个简单的Fabric网络。 ### 回答2: 安装Hyperledger Fabric v1.4.4 可以按照以下步骤进行: 1. 首先,确保你已经安装了Docker和Docker Compose。如果没有安装,你可以在官方网站上找到安装教程并按照步骤安装。 2. 进入Hyperledger Fabric官方Github仓库(https://github.com/hyperledger/fabric)并下载Fabric v1.4.4 的发布包。你可以选择下载源码或者已构建好的二进制文件。 3. 解压下载的文件并进入解压后的目录。 4. 打开终端并使用以下命令运行Fabric的二进制文件进行安装: ``` ./scripts/bootstrap.sh ``` 此命令会下载必需的镜像文件、二进制文件和示例代码。 5. 安装完成后,我们可以启动一个示例网络以验证安装成功。使用以下命令启动示例网络: ``` cd fabric-samples/first-network ./byfn.sh generate ./byfn.sh up ``` 这将在本地计算机上启动一个简单的Fabric网络并运行示例链码。 6. 在运行脚本之后,你可以使用以下命令关闭网络: ``` ./byfn.sh down ``` 以上是安装Hyperledger Fabric v1.4.4 的基本步骤。你可以通过阅读官方文档和使用其他资源来深入了解和使用Hyperledger Fabric。 ### 回答3: 要安装Hyperledger Fabric v1.4.4,您可以按照以下步骤进行操作: 1. 首先,确保您的计算机系统满足Hyperledger Fabric的硬件和软件要求。您需要一台运行Linux操作系统的计算机,并安装Docker和Docker Compose。 2. 下载Hyperledger Fabric的二进制文件。您可以从Hyperledger Fabric的官方网站下载适用于Linux的二进制文件。解压缩下载的文件并将其放在您希望安装的位置。 3. 配置Docker和Docker Compose。确保您具有适当的Docker权限,并安装和配置Docker Compose,以便能够运行多个Docker容器。 4. 设置Hyperledger Fabric网络。在您的计算机上创建一个目录,并将其作为Fabric网络的根目录。在此目录中,创建一个配置文件,其中包括网络的拓扑结构、组织、通道和节点等信息。您可以使用Hyperledger Fabric提供的示例配置文件作为参考。 5. 生成加密材料和初始区块。使用Fabric提供的工具生成加密材料,包括证书、私钥和MSP(Membership Service Provider)文件。然后,使用生成的材料创建初始区块。 6. 启动Hyperledger Fabric网络。使用Docker Compose命令在您的计算机上启动Fabric网络。这将根据您在配置文件中定义的拓扑结构创建和运行相应的Docker容器。 7. 部署智能合约。使用Fabric提供的工具,将您的智能合约部署到Fabric网络中的适当通道上。这将包括安装链码、实例化链码和建立合约的版本。 8. 运行和测试Fabric网络。一旦部署了智能合约,您可以使用Fabric提供的SDK或CLI工具与网络进行交互。通过执行交易和查询等操作,测试网络的功能和性能。 以上是安装Hyperledger Fabric v1.4.4的基本步骤。根据您的实际需求,可能还需要进行其他配置和操作。您可以参考Hyperledger Fabric的官方文档和社区资源,以获取更详细的安装说明和教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值