[发明专利]一种联盟链的用户合约部署方法、装置、系统及存储介质有效
| 申请号: | 202010888952.7 | 申请日: | 2020-08-28 |
| 公开(公告)号: | CN112214502B | 公开(公告)日: | 2023-07-07 |
| 发明(设计)人: | 李弋凡;阮亚芳;曾司龙 | 申请(专利权)人: | 迅鳐成都科技有限公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27;G06F21/64;G06Q40/04 |
| 代理公司: | 成都泰合道知识产权代理有限公司 51231 | 代理人: | 李正 |
| 地址: | 611730 四川省成都市郫都区德源镇(菁*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 联盟 用户 合约 部署 方法 装置 系统 存储 介质 | ||
本发明公开了一种联盟链的用户合约部署方法、装置、系统及存储介质,该方法不仅考虑到联盟链上是否已部署有相同名称的用户合约,还考虑到如果联盟链上已部署有相同名称的用户合约时,除了名称冲突,还有可能是对用户合约进行升级部署的情况,故通过对比已部署的用户合约与请求部署的用户合约所使用的客户端的CA标识是否一致,以确定是否允许部署该用户合约;而且,本发明不仅将用户合约部署在联盟链上,还将用户合约的部署内容记录上链,因此,本发明不仅能够避免发生用户合约名称冲突,还能避免对用户合约的恶意升级部署。
技术领域
本发明涉及区块链技术,尤其涉及一种联盟链的用户合约部署方法、装置、系统及存储介质。
背景技术
目前,联盟链的用户合约管理一般是由管理节点来完成的,而在支持用户可自由选择节点部署用户合约的联盟链场景,就可能会发生用户合约名称冲突。由于通过用户合约产生的区块链交易数据,在状态库中是以合约名称来区分的,所以合约名称一经使用就不能修改,否则历史交易数据将无法关联,而如果发生用户合约名称冲突,便会导致名称冲突的用户合约之间产生的交易数据发生混淆,甚至发生数据被覆盖的情况。因此,有必要设计一种联盟链的用户合约管理机制,避免发生用户合约名称冲突。
发明内容
鉴于以上所述现有技术的不足,本发明的目的在于:提供一种联盟链的用户合约部署方法,能够避免发生用户合约名称冲突。
为实现上述发明目的,本发明提供以下技术方案:
一种联盟链的用户合约部署方法,该方法包括以下步骤:
配置联盟链上的节点,响应客户端发送的部署请求;其中,所述部署请求包括请求部署的用户合约的内容;
而且,节点响应所述部署请求时,检测联盟链上是否已部署有相同名称的用户合约;若未部署有相同名称的用户合约,则允许部署相应用户合约;若已部署有相同名称的用户合约,则判断已部署的用户合约与请求部署的用户合约所使用的客户端的CA标识是否一致,若一致,则允许部署相应用户合约;若不一致,则拒绝部署相应用户合约;
以及,配置联盟链上的节点,用于在允许部署相应用户合约后,将所述用户合约部署在联盟链上,并将所述用户合约的部署内容记录上链。
根据一种具体的实施方式,本发明联盟链的用户合约部署方法还包括,配置联盟链上的节点,用于在允许部署相应用户合约后,将所述用户合约的部署内容记录上链;其中,所述部署记录包括所述用户合约的内容以及所述用户合约部署所使用的客户端的CA标识。
进一步地,所述CA标识由所述客户端注册至CA时自动生成。
根据一种具体的实施方式,本发明联盟链的用户合约部署方法还包括,配置联盟链的领导节点,当有节点拒绝部署相应用户合约后,向客户端发送合约名称冲突的提示信息。
根据一种具体的实施方式,本发明联盟链的用户合约部署方法中,将所述用户合约部署在联盟链上,包括以下步骤:
通过调用系统合约的部署接口,读取所述用户合约的内容;
通过预编译所述用户合约,检查所述用户合约的内容,并在预编译成功后,保存所述用户合约的内容;
以及,在预编译成功后,发起部署所述用户合约的共识投票,且在共识投票通过后,定时读取合约部署状态记录表,检查所述用户合约是否部署成功;若所述用户合约未部署成功,则启动新的合约容器,并在成功启动所述合约容器后,将所述用户合约的内容加载至所述合约容器中,并初始化所述用户合约的运行环境;其中,所述合约部署状态记录表通过监测用户合约的部署状态进行更新。
根据一种具体的实施方式,本发明联盟链的用户合约部署方法中,还配置联盟链上的节点,响应客户端发送的合约部署状态查询请求;而且,节点响应所述合约部署状态查询请求时,调用系统合约的查询接口,访问所述合约部署状态记录表,并将查询结果返回给客户端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迅鳐成都科技有限公司,未经迅鳐成都科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010888952.7/2.html,转载请声明来源钻瓜专利网。





