一种编译智能合约的方法、装置、电子设备和存储介质

    公开(公告)号:CN117873483A

    公开(公告)日:2024-04-12

    申请号:CN202311744845.7

    申请日:2023-12-18

    Abstract: 本申请涉及区块链技术领域,提出一种编译智能合约的方法、装置、电子设备和存储介质。该方法包括:获取智能合约的字节码序列;对字节码序列进行解析,得到对应的IR序列;将IR序列编译为使用寄存器的汇编代码序列;将汇编代码序列转换为对应的机器码序列。由于CPU访问寄存器的速度要比访问内存的速度快很多,因此这样获得的汇编代码序列具有更高的执行效率,进而通过该汇编代码序列转换得到的机器码序列也具有更高的执行效率,最终实现了在采用AOT线性编译的基础上,进一步提高智能合约的执行效率。

    一种基于Java虚拟机的智能合约复杂度限制方法

    公开(公告)号:CN109710385A

    公开(公告)日:2019-05-03

    申请号:CN201811639968.3

    申请日:2018-12-29

    Abstract: 本发明公开一种基于Java虚拟机的智能合约复杂度限制方法,节点在收到外部部署的合约之后先会对其字节大小进行检查,如果检查通过再进行部署,通过计算gas消耗和超时时间设定后存储在节点上;在每一次的外部Java合约调用,每个节点的Java虚拟机都会将合约取出并执行相应的方法,通过将执行过程中执行的每条指令计算gas消耗,如果消耗达到设定上限则拒绝继续执行;同时,在执行过程中会进行计时,如果在规定时间内没有执行完成,则会停止执行。本发明既可以限制Java智能合约的代码大小,也能保证Java智能合约代码的复杂度以及执行过程中的可终止性,也保证超时合约的执行不会影响到共识的过程,保证了区块链的安全性与稳定性。

    智能合约的部署方法、执行方法、装置及终端设备

    公开(公告)号:CN112631729B

    公开(公告)日:2024-11-29

    申请号:CN202011586959.X

    申请日:2020-12-28

    Abstract: 本申请适用于计算机技术领域,提供了一种智能合约的部署方法、执行方法、装置、终端设备及存储介质,部署方法包括:当接收到部署智能合约的请求指令时,按顺序读取智能合约中的字节码指令;在读取的智能合约中的字节码指令为边界指令时,计算边界指令对应程序块的第一消耗;将第一消耗关联预设指令,得到边界指令对应程序块的执行消耗计算字节码;将执行消耗计算字节码关联边界指令进行存储,以使智能合约在执行边界指令的过程中,执行所述执行消耗计算字节码以获得边界指令对应程序块的第一执行消耗。本申请在智能合约的执行过程中,直接根据部署阶段关联了第一消耗的执行消耗计算字节码计算第一执行消耗,能快速高效的对资源消耗进行衡量。

    基于区块链系统的交易数据处理方法、装置、设备及介质

    公开(公告)号:CN115906045A

    公开(公告)日:2023-04-04

    申请号:CN202211421682.4

    申请日:2022-11-14

    Abstract: 本申请适用于区块链技术领域,提供一种基于区块链系统的交易数据处理方法、装置、设备及介质,其中方法包括:获取第一客户端发送的交易请求,响应于所述交易请求,在从区块链系统中检索出与所述交易请求匹配的目标检查程序的情况下,提取所述目标检查程序;基于所述检查校验值,调用所述目标检查程序,对所述交易数据进行正确性检查,得到检查结果,并生成与所述正确性检查对应的数据处理过程证明信息;将所述数据处理过程证明信息及所述检查结果与所述数据购买方的用户信息进行关联存储至所述区块链系统中。该方案能够确保交易双方在数据交易处理中的安全性及可靠性。

    一种区块链平台的区块流水线执行方法

    公开(公告)号:CN111221639A

    公开(公告)日:2020-06-02

    申请号:CN202010022852.6

    申请日:2020-01-09

    Abstract: 本发明公开一种区块链平台的区块流水线执行方法,该方法包括:区块链平台对于一批待执行的交易,首先进行交易的验签,再进行交易的执行,然后进行世界状态Hash的计算,将Hash以及执行结果经过后续的共识后生成区块。与此同时,第一线程任务、第二线程任务、第三线程任务可连续执行交易的验签、交易的执行、Hash的计算,即本发明的方法实现了区块的流水线执行,将区块执行的过程拆成多个部分,然后并行执行,从而提升了区块链节点的执行效率。

    一种基于Java智能合约的并行执行方法

    公开(公告)号:CN110532038A

    公开(公告)日:2019-12-03

    申请号:CN201910764308.6

    申请日:2019-08-19

    Abstract: 本发明公开一种基于Java智能合约的并行执行方法,区块链平台接收到的交易在经过打包之后会进行执行,执行结束后最终这些交易会生成一个区块,在执行之前先将所有交易涉及到的合约取出,通过获取合约中的跨合约调用字段的值来分析得到每笔交易的合约调用链路,然后通过合约调用链路进行交易间的调用依赖分析,最后得到交易的调用链路列表,通过开启多个虚拟机实例来多线程执行每个交易调用链路,使得各交易链路并行执行。本发明既可以实现Java智能合约的并行执行,也保证了在并行执行Java合约的过程中不会产生数据并发问题,提升了区块链的执行效率。

    智能合约调用账本的方法、装置、电子设备和存储介质

    公开(公告)号:CN116155934A

    公开(公告)日:2023-05-23

    申请号:CN202211551574.9

    申请日:2022-12-05

    Abstract: 本申请涉及区块链技术领域,提出一种智能合约调用账本的方法、装置、电子设备和存储介质。该方法包括:调用并执行已完成编译的智能合约机器码;当执行到智能合约机器码中的账本调用指令时,保存智能合约机器码中处于账本调用指令之后的第一条指令的地址,并返回执行区块链平台机器码;调用并执行区块链平台机器码中预设的账本操作指令;当执行完账本操作指令之后,根据该地址跳转至执行智能合约机器码中处于账本调用指令之后的第一条指令。采用该方法,即便针对使用包含内存管理机制的语言编写的区块链平台,也可以实现智能合约对账本操作方法的调用。

    一种执行智能合约的方法、装置、电子设备和存储介质

    公开(公告)号:CN116107578A

    公开(公告)日:2023-05-12

    申请号:CN202211557615.5

    申请日:2022-12-06

    Abstract: 本申请涉及区块链技术领域,提出一种执行智能合约的方法、装置、电子设备和存储介质。该方法包括:获取智能合约的字节码;将字节码直译为机器码,直译是指将字节码的指令逻辑映射为机器码的指令逻辑;执行机器码,得到智能合约的执行结果。本申请通过直译的方式完成编译,编译时间和编译结果大小受控于字节码本身的大小,使得合约编译能够在线性范围的时间内完成,且获得的编译结果大小可控。

Patent Agency Ranking