用于实现区块链的多节点的部署的方法、装置及存储介质制造方法及图纸

技术编号:19702536 阅读:24 留言:0更新日期:2018-12-08 14:14
本公开内容公开了用于实现对区块链的多个节点进行部署的方法,该方法包括在区块链的每个节点上运行链初始化程序以生成配置模板以及所述节点的公钥和私钥;将所生成的每个节点的公钥存储在所述区块链外部的管控服务器上;在所述区块链的每个节点上利用所述配置模板、所述区块链的所有节点的公钥以生成一个或多个配置文件;以及在所述区块链的每个节点上运行包括其所生成的所述一个或多个配置文件的链启动程序。与现有技术相比,本公开内容实现了对区块链的所有节点进行批量化部署,提高了对区块链的所有节点上进行开发、调试以及运行维护的效率以及准确性。

【技术实现步骤摘要】
用于实现区块链的多节点的部署的方法、装置及存储介质
本公开内容属于区块链
,尤其涉及一种用于实现对区块链的多个节点进行部署的方法、装置及相应的计算机可读存储介质。
技术介绍
区块链(BlockChain)技术是近年来在金融科技(FinTech)领域出现的新兴技术,是一种基于去中心化的对等网络的技术,其将密码学原理与共识机制相结合来保障分布式各节点的数据连贯性和持续性,从而实现信息不可篡改、多节点集体维护性、公开性、隐私保护等属性,进而创造了一套隐私、高效、安全的共享价值体系。区块链根据访问权限通常分为公有链、联盟链和私有链。其中,公有链是指任何人都可以根据协议接入并且参与共识的区块链;联盟链是指其共识过程受到预选节点控制的区块链;私有链是指所有权限都在一个组织中,并受该组织任意控制的区块链。通常的区块链程序结构包括:客户端层,其用于为用户或外部系统提供可操作界面并用于管理用户的个人信息等数据;应用程序编程接口(ApplicationProgrammingInterface,简称API)层,其为用户或外部系统提供restful或websocket等网络服务,同时还可以使用下层的远程过程调用(RemoteProcedureCall,简称为RPC)功能;以及节点层,其包括了多个通过P2P网络协议通信的节点,节点层通过API层与客户端层进行交互,以便接收用户或外部系统的创建执行交易动作以及将交易结果、块信息、链状态等反馈给用户或外部系统。现有技术中,由于区块链由大量的节点组成,而且当测试整条区块链时往往需要逐个部署十个甚至几十个节点,使得区块链程序的安装、调试和部署需要耗费大量人力和时间,而且在区块链的开发调试过程中每一次修改都需要重新编译程序,然后在若干个节点上逐个运行,由此带来了巨大的工作量。
技术实现思路
由于现有的区块链创建过程中在区块链链程序开发完成后并对其进行测试时,需要反复进行源码编译、上传指定位置、初始化区块链产生配置模板、修改配置文件、启动区块链等过程繁复的工作,由此对于区块链的运行维护产生极大的不便。针对上述问题,本公开内容的第一方面提出了一种用于实现对区块链的多个节点进行部署的方法,所述方法包括:在区块链的每个节点上运行链初始化程序以生成配置模板以及所述节点的公钥和私钥;将所生成的每个节点的公钥存储在所述区块链外部的管控服务器上;在所述区块链的每个节点上利用所述配置模板、所述区块链的所有节点的公钥以生成一个或多个配置文件,其中,所述一个或多个配置文件中至少包括所述区块链的所有节点的公钥、所述节点的通信IP地址及端口信息以及所述区块链的其他所有节点的第一IP地址及端口;以及在所述区块链的每个节点上运行包括其所生成的所述一个或多个配置文件的链启动程序。在依据本公开内容的一个实施例中,在区块链的每个节点上运行链初始化程序以生成配置模板以及所述节点的公钥和私钥之前,所述方法还包括:在所述区块链的每个节点上结束先前运行的链初始化程序的所有进程并删除相关的配置文件。在依据本公开内容的一个实施例中,所述节点的通信IP地址及端口信息包括:所述节点向所述区块链上的其他节点提供P2P服务的IP地址及端口;以及所述节点向应用程序编程接口层提供远程过程调用服务的IP地址及端口。在依据本公开内容的一个实施例中,所述节点的第一IP地址及端口是所述节点向所述区块链上的其他节点提供P2P服务的IP地址及端口。在依据本公开内容的一个实施例中,当所述区块链应用于金融场景时,所生成的一个或多个配置文件中还包括超级账户信息,其中,所述超级账户信息至少包括所述区块链的名称以及所述区块链发行的数字货币的总发行量。在依据本公开内容的一个实施例中,当在所述区块链的任一节点上运行所述链启动程序失败时或者当需要对所述链初始化程序进行修改时,所述方法还包括:修改所述链初始化程序;在所述区块链的每个节点上结束先前运行的链初始化程序的所有进程并删除相关的配置文件;在所述区块链的每个节点上运行修改后的链初始化程序以生成配置模板以及所述节点的公钥和私钥;将所生成的每个节点的公钥存储在所述区块链外部的所述管控服务器上;在所述区块链的每个节点上利用所述配置模板、所述区块链的所有节点的公钥以生成一个或多个配置文件,其中,所述一个或多个配置文件中至少包括所述区块链的所有节点的公钥、所述节点的通信IP地址及端口信息和其他所有节点的第一IP地址及端口;在所述区块链的每个节点上运行包括其所生成的所述一个或多个配置文件的链启动程序。此外,在本公开内容的第二方面提出了一种计算机可读存储介质,所述存储介质包括指令,当所述指令被执行时,使得所述计算机的处理器至少用于:在区块链的每个节点上运行链初始化程序以生成配置模板以及所述节点的公钥和私钥;将所生成的每个节点的公钥存储在所述区块链外部的管控服务器上;在所述区块链的每个节点上利用所述配置模板、所述区块链的所有节点的公钥以生成一个或多个配置文件,其中,所述一个或多个配置文件中至少包括所述区块链的所有节点的公钥、所述节点的通信IP地址及端口信息以及所述区块链的其他所有节点的第一IP地址及端口;以及在所述区块链的每个节点上运行包括其所生成的所述一个或多个配置文件的链启动程序。在依据本公开内容的一个实施例中,当所述指令被执行时,使得所述计算机的处理器至少还用于:在所述区块链的每个节点上运行所述链初始化程序以生成所述配置模板以及所述节点的公钥和私钥之前,在所述区块链的每个节点上结束先前运行的链初始化程序的所有进程并删除相关的配置文件。在依据本公开内容的一个实施例中,所述节点的通信IP地址及端口信息包括:所述节点向所述区块链上的其他节点提供P2P服务的IP地址及端口;以及所述节点向应用程序编程接口层提供远程过程调用服务的IP地址及端口。在依据本公开内容的一个实施例中,所述节点的第一IP地址及端口是所述节点向所述区块链上的其他节点提供P2P服务的IP地址及端口。在依据本公开内容的一个实施例中,当所述区块链应用于金融场景时,所生成的一个或多个配置文件中还包括超级账户信息,其中,所述超级账户信息至少包括所述区块链的名称以及所述区块链发行的数字货币的总发行量。在依据本公开内容的一个实施例中,当在所述区块链的任一节点上运行所述链启动程序失败时或者当需要对所述链初始化程序进行修改时,执行所述指令使得所述计算机的处理器至少还用于:修改所述链初始化程序;在所述区块链的每个节点上结束先前运行的链初始化程序的所有进程并删除相关的配置文件;在所述区块链的每个节点上运行修改后的链初始化程序以生成配置模板以及所述节点的公钥和私钥;将所生成的每个节点的公钥存储在所述区块链外部的所述管控服务器上;在所述区块链的每个节点上利用所述配置模板、所述区块链的所有节点的公钥以生成一个或多个配置文件,其中,所述一个或多个配置文件中至少包括所述区块链的所有节点的公钥、所述节点的通信IP地址及端口信息和其他所有节点的第一IP地址及端口;在所述区块链的每个节点上运行包括其所生成的所述一个或多个配置文件的链启动程序。最后,本公开内容的第三方面提出了一种用于实现对区块链的多个节点进行部署的装置,所述装置包括:初始化模块,所述初始化模块被配置为在区块链的每个节点上运行链本文档来自技高网
...

【技术保护点】
1.一种用于实现对区块链的多个节点进行部署的方法,包括:在区块链的每个节点上运行链初始化程序以生成配置模板以及所述节点的公钥和私钥;将所生成的每个节点的公钥存储在所述区块链外部的管控服务器上;在所述区块链的每个节点上利用所述配置模板、所述区块链的所有节点的公钥以生成一个或多个配置文件,其中,所述一个或多个配置文件中至少包括所述区块链的所有节点的公钥、所述节点的通信IP地址及端口信息以及所述区块链的其他所有节点的第一IP地址及端口;以及在所述区块链的每个节点上运行包括其所生成的所述一个或多个配置文件的链启动程序。

【技术特征摘要】
1.一种用于实现对区块链的多个节点进行部署的方法,包括:在区块链的每个节点上运行链初始化程序以生成配置模板以及所述节点的公钥和私钥;将所生成的每个节点的公钥存储在所述区块链外部的管控服务器上;在所述区块链的每个节点上利用所述配置模板、所述区块链的所有节点的公钥以生成一个或多个配置文件,其中,所述一个或多个配置文件中至少包括所述区块链的所有节点的公钥、所述节点的通信IP地址及端口信息以及所述区块链的其他所有节点的第一IP地址及端口;以及在所述区块链的每个节点上运行包括其所生成的所述一个或多个配置文件的链启动程序。2.根据权利要求1所述的方法,其中,在区块链的每个节点上运行链初始化程序以生成配置模板以及所述节点的公钥和私钥之前,所述方法还包括:在所述区块链的每个节点上结束先前运行的链初始化程序的所有进程并删除相关的配置文件。3.根据权利要求1所述的方法,其中,所述节点的通信IP地址及端口信息包括:所述节点向所述区块链上的其他节点提供P2P服务的IP地址及端口;以及所述节点向应用程序编程接口层提供远程过程调用服务的IP地址及端口。4.根据权利要求1所述的方法,其中,所述节点的第一IP地址及端口是所述节点向所述区块链上的其他节点提供P2P服务的IP地址及端口。5.根据权利要求1所述的方法,其中,当所述区块链应用于金融场景时,所生成的一个或多个配置文件中还包括超级账户信息,其中,所述超级账户信息至少包括所述区块链的名称以及所述区块链发行的数字货币的总发行量。6.根据权利要求1-5中任一项所述的方法,其中,当在所述区块链的任一节点上运行所述链启动程序失败时或者当需要对所述链初始化程序进行修改时,所述方法还包括:修改所述链初始化程序;在所述区块链的每个节点上结束先前运行的链初始化程序的所有进程并删除相关的配置文件;在所述区块链的每个节点上运行修改后的链初始化程序以生成配置模板以及所述节点的公钥和私钥;将所生成的每个节点的公钥存储在所述区块链外部的所述管控服务器上;在所述区块链的每个节点上利用所述配置模板、所述区块链的所有节点的公钥以生成一个或多个配置文件,其中,所述一个或多个配置文件中至少包括所述区块链的所有节点的公钥、所述节点的通信IP地址及端口信息和其他所有节点的第一IP地址及端口;在所述区块链的每个节点上运行包括其所生成的所述一个或多个配置文件的链启动程序。7.一种计算机可读存储介质,所述存储介质包括指令,当所述指令被执行时,使得所述计算机的处理器至少用于:在区块链的每个节点上运行链初始化程序以生成配置模板以及所述节点的公钥和私钥;将所生成的每个节点的公钥存储在所述区块链外部的管控服务器上;在所述区块链的每个节点上利用所述配置模板、所述区块链的所有节点的公钥以生成一个或多个配置文件,其中,所述一个或多个配置文件中至少包括所述区块链的所有节点的公钥、所述节点的通信IP地址及端口信息以及所述区块链的其他所有节点的第一IP地址及端口;以及在所述区块链的每个节点上运行包括其所生成的所述一个或多个配置文件的链启动程序。8.根据权利要求7所述的计算机可读存储介质,其中,当所述指令被执行时,使得所述计算机的处理器至少还用于:在所述区块链的每个节点上运行所述链初始化程序以生成所述配置模板以及所述节点的公钥和私钥之前,在所述区块链的每个节点上结束先前运行的链初始化程序的所有进程并删除相关的配置文件。9.根据权利要求7所述的计算机可读存储介质,其中,所述节点的通信IP地址及端口信息包括:所述节点向所述区块链上的其他节点提供P2P服务的IP地址及端口;以及...

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

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

1