一种基于物理机部署的Fabric链码生命周期管理系统技术方案

技术编号:24352449 阅读:17 留言:0更新日期:2020-06-03 01:52
本发明专利技术公开一种基于物理机部署的Fabric链码生命周期管理系统,Fabric链码基于项目维度进行管理,系统通过项目和合约的唯一标识打通BaaS和SDK间的通信,实现BaaS平台和SDK对于Fabric链码的生命周期管理,所述的管理系统包括项目管理模块、链码安装模块、链码部署模块、链码更新模块、链码调用模块、历史版本记录。本发明专利技术极大地缩短了Fabric链码从安装到调用的全生命周期,并且通过项目仓库和历史版本记录等功能,实现了对Fabric链码的高效管理。

A fabric chain code life cycle management system based on physical machine deployment

【技术实现步骤摘要】
一种基于物理机部署的Fabric链码生命周期管理系统
本专利技术涉及区块链的底层服务领域,具体涉及一种基于物理机部署的Fabric链码生命周期管理系统。
技术介绍
区块链技术,是比特币、以太坊等数字货币的底层技术,是一种去中心化的分布式账本技术,能安全存储数据,信息不可篡改、公开透明。区块链的交易确认由区块上的所有节点共识完成,共识成功后打包写入区块。区块链存储区块链网络上所有交易,任意节点都有一本完整的账本,从而保证信息不可篡改,实现信息共享、提高信息流通的效率。智能合约,区块链上的智能合约是指由Solidity、GO等语言编写和编译,并运行于区块链上的一串二进制代码。通过智能合约可以实现在区块链上的数据存储、读写以及一些逻辑操作,目前大部分的区块链应用都是基于智能合约来运行的。Fabric是主流的区块链底层技术,市场上基于Fabric的区块链即服务平台不在少数,Fabric链码管理是功能模块之一。经过调研发现,针对Fabric链码的管理,并没有真正满足对Fabric链码生命周期的良好管理,仍然存在部署流程长、操作繁琐等现象。同时,大部分平台并没有充分代入开发者的视角去设计功能,只支持BaaS平台对链码的管理,并没有将功能同步到SDK。
技术实现思路
针对现有技术存在的问题,本专利技术提出一种基于物理机部署的Fabric链码生命周期管理系统,该系统加速了Fabric链码的生命周期管理并同时支持SDK对Fabric链码的操作。具体技术方案如下:一种基于物理机部署的Fabric链码生命周期管理系统,其中,Fabric链码基于项目维度进行管理,系统通过项目和合约的唯一标识打通BaaS和SDK间的通信,实现BaaS平台和SDK对于Fabric链码的生命周期管理,所述的管理系统包括如下模块:(1)项目管理模块,支持对项目进行创建、编辑和删除;项目新建:该功能根据用户填写的项目基本信息,包括项目名称、所属链、项目类型,完成项目的创建,并生成项目唯一标识AppKey&AppSecret,用于保障SDK和Fabric区块链交互的安全性和隐私性;项目编辑:该功能支持对项目名称和项目描述的编辑;项目删除:该功能支持对项目的删除,如项目存在已部署链码,则项目无法被删除。(2)链码安装模块,该模块支持用户通过BaaS平台和SDK安装链码;对于BaaS平台:所述的链码安装模块支持用户填写链码名称、上传以.go为后缀的链码文件、选择通道,所述的链码安装模块即可生成链码的唯一标识UUID,并自动将链码安装至通道的全部peer节点上;对于SDK:所述的链码安装模块支持用户下载SDK、配置SDK、初始化SDK,调用链码部署方法,SDK通过AppKey&AppSecret和UUID,来唯一标识链码安装的指定项目,通过项目和链的绑定关系,安装链码至链上;(3)链码部署模块,该模块支持用户部署链码至Fabric区块链网络的通道;对于BaaS平台:所述的链码部署模块支持用户填写初始化参数,以组织为维度,可视化设置交易背书策略,所述的链码部署模块即可自动将链码部署至通道,并将交易背书策略,部署至指定的背书节点。对于SDK:所述的链码部署模块支持用户设置初始化参数、设置交易背书策略、执行部署命令,SDK即将链码在通道中进行实例化;(4)链码更新模块,该模块能够同时实现链码安装和链码部署,具体的实现方式和链码安装模块、链码部署模块相同,支持用户通过BaaS平台或SDK更新链码至Fabric区块链网络的通道;(5)链码调用模块,该模块支持用户通过BaaS平台或SDK调用已部署的链码;对于BaaS平台:所述的链码调用模块支持用户填写调用方法和调用参数,所述的链码调用模块自动调用链码,并生成交易记录,包括调用的方法名、参数、调动结果和交易哈希,该记录与历史版本合约中的交易记录相同;对于SDK:所述的链码调用模块执行调用方法,SDK自动调用链码,并经由BaaS平台记录区块链的交易记录;(6)历史版本记录,其用来记录链码的全部历史版本,包括每个版本的基本信息以及每个版本对应的交易记录。进一步地,所述的历史版本记录模块中,所述的每个版本的基本信息包括链码编号、UUID、更新时间、链码描述、通道、背书节点组织、链码代码,所述的交易记录包括交易哈希、区块高度、交易完成时间。进一步地,所述的项目管理模块支持用户填写的项目基本信息还包括项目描述。进一步地,所述的链码安装模块还支持用户填写链码描述。本专利技术的有益效果如下:(1)以通道维度安装合约、以组织维度可视化设置交易背书策略,在符合现实交易流程的基础上,极大加速Fabric链码的生命管理周期;(2)支持BaaS平台和SDK同步管理Fabric链码,通过AppKey&AppSecret和UUID,来唯一标识链码关联的指定BaaS项目;(3)记录当前以及全部历史Fabric链码的基本信息和交易记录,交易记录实现根据链码版本区分。附图说明图1是Fabric链码生命周期管理的基本架构图;图2是Fabric链码从上传到调用的操作流程图。具体实施方式以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1-2所示,本专利技术的基于物理机部署的Fabric链码生命周期管理系统,其中,Fabric链码基于项目维度进行管理,系统通过项目和合约的唯一标识打通BaaS和SDK间的通信,实现BaaS平台和SDK对于Fabric链码的生命周期管理,所述的管理系统包括如下模块:(1)项目管理模块,支持对项目进行创建、编辑和删除;项目新建:该功能的前提是用户已创建一个Fabric网络,功能根据用户填写的项目基本信息,包括项目名称、所属链、项目类型,完成项目的创建,生成项目唯一标识AppKey&AppSecret,与Fabric区块链网络一一对应,用于保障SDK和Fabric区块链交互的安全性和隐私性;一个项目只能绑定一个Fabric区块链网络,一个Fabric区块链网络可以被多个项目绑定。项目编辑:该功能支持对项目名称和项目描述的编辑,项目名称、所属链、项目类型在项目创建完成即不可变更;项目删除:该功能支持对项目的删除。如项目没有合约或合约未部署,则项目可以被删除;如项目存在已部署链码,则项目无法被删除。(2)链码安装模块,该模块支持用户通过BaaS平台和SDK安装链码;对于BaaS平台:所述的链码安装模块支持用户填写链码名称、上传以.go为后缀的链码文件、选择通道(通道确保Fabric中节点间同步共识数据的隐私性,不同通道的数据互相独立不可共享),所述的链码安装模块即可生成链码的唯一标识UUID,并自动将链码安装至通道的peer节点上;一个项目支持创建多个链码,项目本文档来自技高网...

【技术保护点】
1.一种基于物理机部署的Fabric链码生命周期管理系统,其中,Fabric链码基于项目维度进行管理,系统通过项目和合约的唯一标识打通BaaS和SDK间的通信,实现BaaS平台和SDK对于Fabric链码的生命周期管理,所述的管理系统包括如下模块:/n(1)项目管理模块,支持对项目进行创建、编辑和删除;/n项目新建:该功能根据用户填写的项目基本信息,包括项目名称、所属链、项目类型,完成项目的创建,并生成项目唯一标识App Key&App Secret,用于保障SDK和Fabric区块链交互的安全性和隐私性;/n项目编辑:该功能支持对项目名称和项目描述的编辑;/n项目删除:该功能支持对项目的删除,如项目存在已部署链码,则项目无法被删除。/n(2)链码安装模块,该模块支持用户通过BaaS平台和SDK安装链码;/n对于BaaS平台:所述的链码安装模块支持用户填写链码名称、上传以.go为后缀的链码文件、选择通道,所述的链码安装模块即可生成链码的唯一标识UUID,并自动将链码安装至通道的全部peer节点上;/n对于SDK:所述的链码安装模块支持用户下载SDK、配置SDK、初始化SDK,调用链码部署方法,SDK通过App Key&App Secret和UUID,来唯一标识链码安装的指定项目,通过项目和链的绑定关系,安装链码至链上。/n(3)链码部署模块,该模块支持用户部署链码至Fabric区块链网络的通道;/n对于BaaS平台:所述的链码部署模块支持用户填写初始化参数,以组织为维度,可视化设置交易背书策略,所述的链码部署模块即可自动将链码部署至通道,并将交易背书策略,部署至指定的背书节点。/n对于SDK:所述的链码部署模块支持用户设置初始化参数、设置交易背书策略、执行部署命令,SDK即将链码在通道中进行实例化;/n(4)链码更新模块,该模块能够同时实现链码安装和链码部署,具体的实现方式和链码安装模块、链码部署模块相同,支持用户通过BaaS平台或SDK更新链码至Fabric区块链网络的通道;/n(5)链码调用模块,该模块支持用户通过BaaS平台或SDK调用已部署的链码;/n对于BaaS平台:所述的链码调用模块支持用户填写调用方法和调用参数,所述的链码调用模块自动调用链码,并生成交易记录,包括调用的方法名、参数、调动结果和交易哈希,该记录与历史版本合约中的交易记录相同;/n对于SDK:所述的链码调用模块执行调用方法,SDK自动调用链码,并经由BaaS平台记录区块链的交易记录;/n(6)历史版本记录,其用来记录链码的全部历史版本,包括每个版本的基本信息以及每个版本对应的交易记录。/n...

【技术特征摘要】
1.一种基于物理机部署的Fabric链码生命周期管理系统,其中,Fabric链码基于项目维度进行管理,系统通过项目和合约的唯一标识打通BaaS和SDK间的通信,实现BaaS平台和SDK对于Fabric链码的生命周期管理,所述的管理系统包括如下模块:
(1)项目管理模块,支持对项目进行创建、编辑和删除;
项目新建:该功能根据用户填写的项目基本信息,包括项目名称、所属链、项目类型,完成项目的创建,并生成项目唯一标识AppKey&AppSecret,用于保障SDK和Fabric区块链交互的安全性和隐私性;
项目编辑:该功能支持对项目名称和项目描述的编辑;
项目删除:该功能支持对项目的删除,如项目存在已部署链码,则项目无法被删除。
(2)链码安装模块,该模块支持用户通过BaaS平台和SDK安装链码;
对于BaaS平台:所述的链码安装模块支持用户填写链码名称、上传以.go为后缀的链码文件、选择通道,所述的链码安装模块即可生成链码的唯一标识UUID,并自动将链码安装至通道的全部peer节点上;
对于SDK:所述的链码安装模块支持用户下载SDK、配置SDK、初始化SDK,调用链码部署方法,SDK通过AppKey&AppSecret和UUID,来唯一标识链码安装的指定项目,通过项目和链的绑定关系,安装链码至链上。
(3)链码部署模块,该模块支持用户部署链码至Fabric区块链网络的通道;
对于BaaS平台:所述的链码部署模块支持用户填写初始化参数,以组织为维度,可视化设置交易背书策略,所述的链码部署模块即可自动将链码部署至通道,并将交易背书策略,部署至指定的背书...

【专利技术属性】
技术研发人员:邱炜伟李伟匡立中尹可挺戴唯威
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1