预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113220327A(43)申请公布日2021.08.06(21)申请号202110510888.3(22)申请日2021.05.11(71)申请人支付宝(杭州)信息技术有限公司地址310000浙江省杭州市西湖区西溪路556号8层B段801-11申请人蚂蚁区块链科技(上海)有限公司(72)发明人林志平(74)专利代理机构北京博思佳知识产权代理有限公司11415代理人周嗣勇(51)Int.Cl.G06F8/65(2018.01)G06F8/60(2018.01)G06F9/455(2006.01)权利要求书2页说明书13页附图3页(54)发明名称智能合约升级方法及区块链系统(57)摘要本说明书提供一种智能合约升级方法及区块链系统;该方法可以包括:区块链网络中的所有区块链节点分别获取包含字节码的合约部署交易,并基于所述合约部署交易部署相应的智能合约,所述合约部署交易为响应于用户的合约部署请求而生成;所述区块链网络中的第一区块链节点对所述字节码进行JIT编译,得到所述智能合约的机器码;所述区块链网络中的所有区块链节点分别获取包含所述机器码的合约升级交易,并基于所述合约升级交易将所述智能合约对应的合约代码由所述字节码升级为所述机器码,所述合约升级交易为响应于所述用户的合约升级请求而生成。CN113220327ACN113220327A权利要求书1/2页1.一种智能合约升级方法,包括:区块链网络中的所有区块链节点分别获取包含字节码的合约部署交易,并基于所述合约部署交易部署相应的智能合约,所述合约部署交易为响应于用户的合约部署请求而生成;所述区块链网络中的第一区块链节点对所述字节码进行JIT编译,得到所述智能合约的机器码;所述区块链网络中的所有区块链节点分别获取包含所述机器码的合约升级交易,并基于所述合约升级交易将所述智能合约对应的合约代码由所述字节码升级为所述机器码,所述合约升级交易为响应于所述用户的合约升级请求而生成。2.根据权利要求1所述的方法,所述区块链网络中的第一区块链节点对所述字节码进行JIT编译,包括:所述第一区块链节点响应于所述用户发送的用于指示将所述智能合约的字节码编译为机器码的指示消息,对所述合约部署交易中的字节码进行JIT编译;所述第一区块链节点在确定所述合约部署交易中包含用于指示将所述智能合约的字节码编译为机器码的指示标识的情况下,对所述合约部署交易中的字节码进行JIT编译;所述第一区块链节点在确定所述合约部署交易由预定义的特定用户发起的情况下,对所述合约部署交易中的字节码进行JIT编译;或者,所述第一区块链节点在确定所述合约部署交易中包含的业务数据属于预定义的业务类型的情况下,对所述合约部署交易中的字节码进行JIT编译。3.根据权利要求1所述的方法,所述区块链网络中的第一区块链节点对所述字节码进行JIT编译,包括:所述第一区块链节点在确定所述智能合约的字节码被部署完成后,开始对所述智能合约的字节码进行JIT编译;或者,所述第一区块链节点在确定所述智能合约的字节码被部署完成的情况下,利用相对空闲的时间段对所述字节码进行JIT编译。4.根据权利要求1所述的方法,所述区块链网络中的第一区块链节点对所述字节码进行JIT编译,包括:所述第一区块链节点对所述合约部署交易中包含的所有字节码进行编译;所述第一区块链节点对所述合约部署交易中包含的字节码进行热点分析,并对得到的热点字节码进行编译;和/或,所述第一区块链节点对所述合约部署交易中包含的字节码进行优化编译。5.根据权利要求1所述的方法,还包括:所述第一区块链节点向所述用户返回所述JIT编译已完成的通知消息,所述通知消息中包含经由所述JIT编译得到的机器码;其中,所述合约升级交易由所述用户对应的客户端,在接收到用户发送的合约升级请求的情况下,基于所述通知消息中包含的机器码生成。6.根据权利要求1所述的方法,还包括:所述第一区块链节点向所述用户返回所述JIT编译已完成的通知消息;所述区块链网络中的第二区块链节点在接收到所述用户发送的合约升级请求的情况2CN113220327A权利要求书2/2页下,基于所述JIT编译得到的机器码生成所述合约升级交易;其中,所述第一区块链节点和所述第二区块链节点为同一节点或不同节点。7.根据权利要求1所述的方法,还包括:所述第一区块链节点响应于所述用户发起的针对所述JIT编译的进度查询请求,向所述用户返回所述JIT编译的执行进度;其中,所述合约升级请求由所述用户在确定所述JIT编译已完成的情况下发起。8.根据权利要求1所述的方法,所述区块链网络中的任一区块链节点基于所述合约升级交易将所述智能合约对应的合约代码由所述字节码升级为所述机器码,包括:所述区块链网络中的任一区块