全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211207954.0 (22)申请日 2022.09.30 (71)申请人 中国银行股份有限公司 地址 100818 北京市西城区复兴门内大街1 号 (72)发明人 王刚  (74)专利代理 机构 北京三友知识产权代理有限 公司 11127 专利代理师 吕俊刚 安然 (51)Int.Cl. G06F 8/41(2018.01) G06F 8/61(2018.01) H04L 67/104(2022.01) H04L 9/40(2022.01) H04L 9/32(2006.01) (54)发明名称 一种区块链联盟链智能合约迭代方法、 系统 及设备 (57)摘要 本发明涉及区块链 技术领域, 尤其涉及一种 区块链联盟链智 能合约迭代方法、 系统及设备, 包括: 联盟链的多个节点接收智能合约的源代 码, 并对源代码进行共识验证, 多个节点分别对 所述源代码进行编译, 生成可执行代码, 并对可 执行代码进行共识验证, 在可执行代码的共识验 证的结果为通过的情况下, 将可执行代码作为智 能合约, 将智能合约部署在各节点中, 以便于联 盟链接收到用户的交易请求时, 所述多个节点中 的任意一个节点利用部署的智能合约处理用户 的交易请求。 通过本发明的方法, 实现了联盟链 的各节点自行编译源代码, 得到可执行代码, 将 可执行代码作为智能合约部署在对应的节点中, 保证各节点智能合约功能的一 致性。 权利要求书2页 说明书9页 附图3页 CN 115495090 A 2022.12.20 CN 115495090 A 1.一种区块链联盟链智能合约迭代方法, 其特 征在于, 所述方法包括: 联盟链的多个节点接收智能合约的源代码, 并对所述源代码进行共识验证, 在所述源 代码的共识验证的结果 为通过的情况 下, 将所述源代码存 储在各节点对应的区块中; 所述多个节点分别对所述源代码进行编译, 生成可执行代码, 并对所述可执行代码进 行共识验证, 在所述可执行代码的共识验证的结果为通过 的情况下, 将所述可执行代码作 为所述智能合约, 将所述智能合约部署在各节点中, 以便于所述联盟链接 收到用户的交易 请求时, 所述多个节点中的任意一个节点利用部署的所述智能合约处理所述用户的交易请 求。 2.根据权利要求1所述的方法, 其特 征在于, 对所述源代码进行共识验证的步骤 包括, 所述多个节点分别对各自接收到的源代码的开发者签名和所源代码的摘要进行共识 验证; 若所述多个节点的所述签名均相同且所述源代码的摘要均相同, 则所述源代码的共识 验证的结果 为通过。 3.根据权利要求1所述的方法, 其特征在于, 对所述可执行代码进行共识验证的步骤包 括, 所述多个节点对所述可执行代码的测试结果进行共识验证, 每个节点的测试结果是该 节点的可 执行代码执 行测试样例后得到的, 多个节点的测试样例 相同; 若所述多个节点的所述可执行代码的测试结果均相同, 则所述可执行代码的共识验证 的结果为通过。 4.根据权利要求1所述的方法, 其特征在于, 在将所述智能合约部署在各自节点中之 后, 所述方法还 包括, 所述多个节点接收所述智能合约的更新代码, 并对所述更新代码进行共识验证, 在所 述更新代码的共识验证的结果为通过的情况下, 将所述更新代码存储在各节点对应的区块 中; 所述多个节点分别对所述更新代码进行编译, 生成可执行更新代码, 并对所述可执行 更新代码进行共识验证, 在所述可执行更新代码的共识验证的结果为通过的情况下, 将所 述可执行更新代码存 储在各自对应的区块中; 各节点根据当前的智能合约的执行状态确定是否更新所述智能合约, 若是, 则将该节 点作为主动更新节点, 将所述主动更新节点当前 的智能合约下线, 并将所述可执行更新代 码作为更新智能合约, 将所述更新智能合约部署在所述主动更新节点中; 在所述主动更新节点更新所述智能合约完成后, 根据各节点当前的智能合约对应的可 执行代码的版本号在所述多个节点中确定被动更新节点; 将所述被动更新节点当前的智能合约下线, 并将所述可执行更新代码作为更新智能合 约, 将所述更新智能合约部署在所述被动更新节点中。 5.根据权利要求4所述的方法, 其特征在于, 各节点根据当前的智能合约的执行状态确 定是否更新所述智能合约进一 步包括, 各节点根据当前的智能合约的报错 率确定是否更新所述智能合约。 6.根据权利要求4所述的方法, 其特征在于, 根据 各节点当前的智能合约对应的可执行 代码的版本号在所述多个节点中确定被动更新节点进一 步包括,权 利 要 求 书 1/2 页 2 CN 115495090 A 2在所述多个节点当前的智能合约对应的可 执行代码的版本号中确定最 新版本号; 确定与所述最新版本号相差超过版本范围的可执行代码的版本号对应的智能合约作 为待更新智能合约; 所述待更新智能合约对应的节点将所述待更新智能合约下线, 并将所述可执行更新代 码作为更新智能合约, 将所述更新智能合约部署在所述该节点中。 7.根据权利要求 4所述的方法, 其特 征在于, 下线所述智能合约的步骤 包括, 所述主动更新节点将所述智能合约进行标识, 以便于该主动更新节点再次接收到用户 的交易请求时, 判断所述可 执行代码的版本号是否存在标识, 若是, 则不调用该智能合约。 8.一种区块链联盟链智能合约迭代系统, 其特征在于, 所述区块链联盟链智能合约迭 代系统的结构为联盟链, 所述联盟链的多个节 点在进行智能合约迭代时, 执行权利要求 1‑7 任意一项所述的方法。 9.一种计算机设备, 包括存储器、 处理器及存储在存储器上并可在处理器上运行的计 算机程序, 其特征在于, 所述处理器执行所述计算机程序时实现权利要求1至7任一所述方 法。 10.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质存储有计算机程 序, 所述计算机程序被处 理器执行时实现权利要求1至7任一所述方法。 11.一种计算机程序产品, 其特征在于, 所述计算机程序产品包括计算机程序, 所述计 算机程序被处 理器执行时实现权利要求1至7任一所述方法。权 利 要 求 书 2/2 页 3 CN 115495090 A 3

PDF文档 专利 一种区块链联盟链智能合约迭代方法、系统及设备

文档预览
中文文档 15 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种区块链联盟链智能合约迭代方法、系统及设备 第 1 页 专利 一种区块链联盟链智能合约迭代方法、系统及设备 第 2 页 专利 一种区块链联盟链智能合约迭代方法、系统及设备 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:58:39上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。