下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、兄弟连区块链教程Fabric1.0源代码分析MSP成员关系服务提供者一兄弟连区块链教程Fabric1.0源代码分析MSP成员关系服务提供者一,2018年下半年, 区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在 回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。Fabric 1.0源代码笔记之MSP (成员关系服务提供者)# 1、MSP 概述MSP,全称Membership Service Provider,即成员关系服务提供者,作用为管理Fabric 中的众多参与者。成员服务提供者(MSP)是一个提供抽象化成员操作框架的组件。M
2、SP将颁发与校验证书,以及用户认证背后的所有密码学机制与协议都抽象了出来。一个 MSP可以自己定义身份,以及身份的管理(身份验证)与认证(生成与验证签名)规则。 一个Hyperledger Fabric区块链网络可以被一个或多个MSP管理。MSP的核心代码在msp目录下,其他相关代码分布在common/config/msp、protos/msp 下。目录结构如下:msp目录msp.go,定义接口 MSP、MSPManager、Identity、SigningIdentity、 IdentityDeserializer。mspimpl.go,实现 MSP 接口,即 bccspmsp。mspmgr
3、impl.go,实现 MSPManager 接口,即 mspManagerImpl。identities.go,实现 Identity、SigningIdentity 接口,即 identity 和 signingidentity。configbuilder.go,提供读取证书文件并将其组装成MSP等接口所需的数据结构, 以及转换配置结构体(FactoryOpts-MSPConfig)等工具函数。cert.go,证书相关结构体及方法。mgmt目录mgmt.go,msp相关管理方法实现。principal.go,MSPPrincipalGetter 接口及其实现,即 localMSPPrinci
4、palGetter。deserializer.go, DeserializersManager 接口及其实现,即 mspDeserializersMmon/config/msp 目录config.go,定义了 MSPConfigHandler 及其方法,用于配置 MSP 和 configtx 工 具。protos/msp 目录,msp 相关 Protocol Buffer 原型文件。# 2、核心接口定义蕾兄弟连教育Adrnv www. itxL cnIdentityDeserializer为身份反序列化接口,同时被MSP和MSPManger的接口嵌入。定 义如下:gotyp
5、e IdentityDeserializer interface DeserializeIdentity(serializedIdentity byte) (Identity, error) /代码在 msp/msp.go MSP接口定义:gotype MSP interface IdentityDeserializer /需要实现 IdentityDeserializer 接口Setup(config *msp.MSPConfig) error /根据 MSPConfig 设置 MSP 实例GetType() ProviderType /获取 MSP 类型,即 FABRICGetIdenti
6、fier() (string, error) /获取 MSP 名字GetDefaultSigningIdentity() (SigningIdentity, error) /获取默认的签名 身份GetTLSRootCerts() byte /获取 TLS 根 CA 证书Validate(id Identity) error /校验身份是否有效SatisfiesPrincipal(id Identity, principal *msp.MSPPrincipal) error / 验证给定的身份与principal中所描述的类型是否相匹配 /代码在 msp/msp.goMSPManager 接口定
7、义:gotype MSPManager interface IdentityDeserializer /需要实现 IdentityDeserializer 接口Setup(msps MSP) error 用给定的 msps 填充实例中的 mspsMapGetMSPs() (mapstringMSP, error) /获取 MSP 列表,即 mspsMap /代码在 msp/msp.go Identity接口定义(身份):gotype Identity interface GetIdentifier() *IdentityIdentifier 获取身份 ID GetMSPIdentifier()
8、 string /获取 MSP ID,即 id.Mspid Validate() error /校验身份是否有效,即调取 msp.Validate(id) GetOrganizationalUnits() *OUIdentifier /获取组织单元 Verify(msg byte, sig byte) error /用这个身份校验消息签名 Serialize() (byte, error) /身份序列化 SatisfiesPrincipal(principal *msp.MSPPrincipal) error /调用 msp 的SatisfiesPrincipal检查身份与principal中所描述的类型是否匹配 /代码在 msp/msp.goSigningIdentity接口定义(签名身份):
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年辽宁省北镇市高考物理二模试卷含完整答案详解(有一套)
- 2026年四川省邛崃市高考物理三轮冲刺模拟卷附完整答案详解(夺冠)
- 2025年黑龙江省同江市高考物理真题汇编模拟卷含答案详解【典型题】
- 2026年河北省涿州市高考物理强基计划试卷(突破训练)附答案详解
- 2025年河南省灵宝市高考物理周测考试卷【考试直接用】附答案详解
- 2026年河北省任丘市高考物理三轮冲刺模拟卷附答案详解(综合题)
- 2025年广东省乐昌市高考物理一轮复习模拟卷及参考答案详解【考试直接用】
- 2025年河南省义马市高考物理模拟预测考试卷及完整答案详解(夺冠)
- 2026年广东省鹤山市高考物理三轮冲刺试卷附完整答案详解(易错题)
- 2025年吉林省梅河口市高考物理一轮复习试卷及完整答案详解【典优】
- 老年人认知障碍预防干预技术标准解读
- 2026年辽宁省政府采购评审专家考试真题含答案
- 河北省部分学校2026届高三学科素养评价练习语文试题(一)(含答案)
- 船舶电气系统设计标准与规范
- 旅游景区餐饮服务规范与标准(标准版)
- 2023-2024学年江苏省南京市鼓楼区五年级(下)期末语文试卷
- 道路运输安全重大风险辨识分级管控清单
- 2026年全员安全知识考试试题
- 老子道德经课件
- 卫生间补漏注浆施工方案
- 现浇泡沫混凝土保温层施工实施细则
评论
0/150
提交评论