一种区块链的发布方法及装置制造方法及图纸

技术编号:21917344 阅读:26 留言:0更新日期:2019-08-21 13:28
本发明专利技术公开了一种区块链的发布方法,包括区块链的部署方法,该部署方法包括:S1:获取待部署区块链的集群的各节点信息以及区块链的代码包;S2:根据预设的哈希算法对代码包进行哈希运算,生成哈希值,并存储哈希值、代码包的版本号以及时间戳;S3:获取自定义的动态参数,根据节点信息、动态参数以及哈希值生成所述区块链的配置文件,其中,动态参数至少包括加密算法;S4:将配置文件以及预先编辑的脚本文件推送到所述节点对应的目录下,并存储部署结果。本发明专利技术通过提供自由切换加密算法发布区块链群集,提高区块链操作的灵活性,且可以批量部署集群的节点,通过可控的自由选择加密算法提高发布区块链群集的高效性。

A Block Chain Distribution Method and Device

【技术实现步骤摘要】
一种区块链的发布方法及装置
本专利技术涉及区块链
,特别涉及一种区块链的发布方法及装置。
技术介绍
区块链(BlockChain)技术是近年来在金融科技(FinTech)领域出现的一种新兴技术,其独特的去中心化、信息不可篡改、多节点集体维护性、公开性、隐私保护等属性,在基于不可信的互联网中,能记录提供可信的交易信息数据。区块链主要包括了P2P网络、密码学、共识机制、智能合约四个组成部分,通过四个领域的技术整合保证其独有的特性。当前区块链群集发布时主要存在以下的问题:当前区块链集群发布方式局限于单种加密算法,面对当前复杂的应用场景表现单一,缺乏多元性。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种区块链的发布方法及装置,以克服现有技术中区块链集群发布方式局限于单种加密算法,面对当前复杂的应用场景表现单一,缺乏多元性等问题。为解决上述一个或多个技术问题,本专利技术采用的技术方案是:一方面,提供了一种区块链的发布方法,所述方法包括区块链的部署方法,所述部署方法包括如下步骤:S1:获取待部署区块链的集群的各节点信息以及所述区块链的代码包;S2:根据预设的哈希算法对所述代码包进行哈希运算,生成哈希值,并存储所述哈希值、所述代码包的版本号以及时间戳;S3:获取自定义的动态参数,根据所述节点信息、动态参数以及哈希值生成所述区块链的配置文件,其中,所述动态参数至少包括加密算法;S4:将所述配置文件以及预先编辑的脚本文件推送到所述节点对应的目录下,并存储部署结果。进一步的,所述步骤S3具体包括:获取自定义的动态参数,所述动态参数包括加密算法、区块链的ID、用户ID、应用层访问区块链的端口号以及P2P节点间通信的端口号;结合所述节点信息、所述哈希值以及所述区块链的ID、用户ID、应用层访问区块链的端口号和P2P节点间通信的端口号生成所述区块链的配置文件。进一步的,所述步骤S3还包括:基于所述加密算法,生成所述各节点的公私钥,并且根据所述公私钥生成所述各节点的地址;选定任一节点作为CA节点,通过所述CA节点的私钥与其他各节点的公钥对相应的节点进行CA签名,获取签名;将所述各节点的公私钥、地址以及签名写入所述配置文件。进一步的,所述方法还包括:接收所述节点发出的指令以及与所述指令对应的报文,验证所述报文中的相关信息,验证通过后,调用与所述指令相应的脚本文件,执行相应的操作。进一步的,所述指令包括链启动、链停止、链重置、链更新、链清理以及链状态。进一步的,所述脚本文件包括启动脚本、停止脚本、重置脚本、更新脚本、清理脚本以及状态脚本。另一方面,提供了一种区块链的发布装置,所述装置包括:API接口:用于获取待部署区块链的集群的各节点信息以及所述区块链的代码包;计算模块,用于根据预设的哈希算法对所述代码包进行哈希运算,生成哈希值,并存储所述哈希值、所述代码包的版本号以及时间戳;加密组件,用于提供多种加密算法;链部署模块,用于获取自定义的动态参数,根据所述节点信息、动态参数以及哈希值生成所述区块链的配置文件,其中,所述动态参数至少包括加密算法;所述链部署模块还用于将所述配置文件以及预先编辑的脚本文件推送到所述节点对应的目录下;数据库,用于存储所述哈希值、所述代码包的版本号以及时间戳,以及用于存储部署结果。进一步的,所述链部署模块包括:参数输入单元,用于获取自定义的动态参数,所述动态参数包括加密算法、区块链的ID、用户ID、应用层访问区块链的端口号以及P2P节点间通信的端口号;配置生成单元,用于结合所述节点信息、所述哈希值以及所述区块链的ID、用户ID、应用层访问区块链的端口号和P2P节点间通信的端口号生成所述区块链的配置文件。进一步的,所述链部署模块还包括:计算单元,用于基于所述加密算法,生成所述各节点的公私钥,并且根据所述公私钥生成所述各节点的地址;CA认证单元,用于选定任一节点作为CA节点,通过所述CA节点的私钥与其他各节点的公钥对相应的节点进行CA签名,获取签名;信息写入单元,用于将所述各节点的公私钥、地址以及签名写入所述配置文件。进一步的,所述装置还包括:链启动模块,用于接收所述节点发出链启动指令以及与所述链启动指令对应的报文,验证所述报文中的相关信息,验证通过后,调用启动脚本文件,执行相应的操作;链停止模块,用于接收所述节点发出链停止指令以及与所述链停止指令对应的报文,验证所述报文中的相关信息,验证通过后,调用停止脚本文件,执行相应的操作;链重置模块,用于接收所述节点发出链重置指令以及与所述链重置指令对应的报文,验证所述报文中的相关信息,验证通过后,调用重置脚本文件,执行相应的操作;链更新模块,用于接收所述节点发出链更新指令以及与所述链更新指令对应的报文,验证所述报文中的相关信息,验证通过后,调用更新脚本文件,执行相应的操作;链清理模块,用于接收所述节点发出链清理指令以及与所述链清理指令对应的报文,验证所述报文中的相关信息,验证通过后,调用清理脚本文件,执行相应的操作;链状态模块,用于接收所述节点发出链状态指令以及与所述链状态指令对应的报文,验证所述报文中的相关信息,验证通过后,调用状态脚本文件,执行相应的操作。本专利技术实施例提供的技术方案带来的有益效果是:1、本专利技术实施例提供的区块链的发布方法及装置,提供自由切换加密算法发布区块链群集,提高区块链操作的灵活性;2、本专利技术实施例提供的区块链的发布方法及装置,可以批量部署集群的节点,通过可控的自由选择加密算法提高发布区块链群集的高效性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据一示例性实施例示出的区块链的发布方法中区块链的部署方法的流程图;图2是根据一示例性实施例示出的区块链的发布装置的结构示意图;图3是根据另一示例性实施例示出的区块链的发布装置的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1是根据一示例性实施例示出的区块链的发布方法中区块链的部署方法的流程图,参照图1所示,该部署方法包括如下步骤:S1:获取所述区块链的待部署集群的各节点信息以及所述区块链的代码包。具体的,本专利技术实施例中,通过区块链的发布装置进行区块链的相关发布操作,可以批量部署区块链集群的节点,可以达到一分钟内部署几万节点。启动发布装置的发布服务后,将区块链的待部署集群的各节点信息添加至发布装置中,生成节点列表后存储至发布装置的数据库。发布装置还需要获取待部署区块链的代码包,作为一种较优的实施方式,区块链的代码包可以采用二进制包的格式。这里需要说明的是,本专利技术实施例中,添加节点信息至发布装置实现的功能是免密登录。即发布机到远程的链节点登录、访问、操作都是不需要登录密码的。免密登录,本质上是使用了“公钥本文档来自技高网...

【技术保护点】
1.一种区块链的发布方法,其特征在于,所述方法包括区块链的部署方法,所述部署方法包括如下步骤:S1:获取待部署区块链的集群的各节点信息以及所述区块链的代码包;S2:根据预设的哈希算法对所述代码包进行哈希运算,生成哈希值,并存储所述哈希值、所述代码包的版本号以及时间戳;S3:获取自定义的动态参数,根据所述节点信息、动态参数以及哈希值生成所述区块链的配置文件,其中,所述动态参数至少包括加密算法;S4:将所述配置文件以及预先编辑的脚本文件推送到所述节点对应的目录下,并存储部署结果。

【技术特征摘要】
1.一种区块链的发布方法,其特征在于,所述方法包括区块链的部署方法,所述部署方法包括如下步骤:S1:获取待部署区块链的集群的各节点信息以及所述区块链的代码包;S2:根据预设的哈希算法对所述代码包进行哈希运算,生成哈希值,并存储所述哈希值、所述代码包的版本号以及时间戳;S3:获取自定义的动态参数,根据所述节点信息、动态参数以及哈希值生成所述区块链的配置文件,其中,所述动态参数至少包括加密算法;S4:将所述配置文件以及预先编辑的脚本文件推送到所述节点对应的目录下,并存储部署结果。2.根据权利要求1所述的区块链的发布方法,其特征在于,所述步骤S3具体包括:获取自定义的动态参数,所述动态参数包括加密算法、区块链的ID、用户ID、应用层访问区块链的端口号以及P2P节点间通信的端口号;结合所述节点信息、所述哈希值以及所述区块链的ID、用户ID、应用层访问区块链的端口号和P2P节点间通信的端口号生成所述区块链的配置文件。3.根据权利要求1或2所述的区块链的发布方法,其特征在于,所述步骤S3还包括:基于所述加密算法,生成所述各节点的公私钥,并且根据所述公私钥生成所述各节点的地址;选定任一节点作为CA节点,通过所述CA节点的私钥与其他各节点的公钥对相应的节点进行CA签名,获取签名;将所述各节点的公私钥、地址以及签名写入所述配置文件。4.根据权利要求1或2所述的区块链的发布方法,其特征在于,所述方法还包括:接收所述节点发出的指令以及与所述指令对应的报文,验证所述报文中的相关信息,验证通过后,调用与所述指令相应的脚本文件,执行相应的操作。5.根据权利要求4所述的区块链的发布方法,其特征在于,所述指令包括链启动、链停止、链重置、链更新、链清理以及链状态。6.根据权利要求5所述的区块链的发布方法,其特征在于,所述脚本文件包括启动脚本、停止脚本、重置脚本、更新脚本、清理脚本以及状态脚本。7.一种区块链的发布装置,其特征在于,所述装置包括:API接口:用于获取待部署区块链的集群的各节点信息以及所述区块链的代码包;计算模块,用于根据预设的哈希算法对所述代码包进行哈希运算,生成哈希值,并存储所述哈希值、所述代码包的版本号以及时间戳;加密组件,用于提供多种加密算法;链部署模块,用于获取自定义的动态参数,根据所述节点信息、动态参数...

【专利技术属性】
技术研发人员:吕国新瞿争张建
申请(专利权)人:众安信息技术服务有限公司
类型:发明
国别省市:广东,44

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

1