编译和执行智能合约的方法及装置.pdf
猫巷****正德
亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
相关资料
编译和执行智能合约的方法及装置.pdf
本说明书实施例提供一种编译和执行智能合约的方法和装置,根据上述方法,在对智能合约进行编译而该智能合约依赖于外部函数时,不再将外部函数的实现代码纳入到合约中进行编译,而是将其转化为一条对该外部函数的调用指令,并将函数的声明信息添加到合约模块的导入区段中。如此生成的合约模块中仅包含外部函数的声明信息,而不包含该外部函数的实现代码。在执行该智能合约时,由虚拟机从本地的操作系统函数库中获取上述外部函数的实现代码,并将该实现代码与合约代码相链接,从而执行该外部函数。
编译和执行智能合约的方法及装置.pdf
本说明书实施例提供一种编译和执行智能合约的方法和装置,根据上述方法,在对智能合约进行编译而该智能合约依赖于外部函数时,不再将外部函数的实现代码纳入到合约中进行编译,而是将其转化为一条对该外部函数的调用指令,并将函数的声明信息添加到合约模块的导入区段中。如此生成的合约模块中仅包含外部函数的声明信息,而不包含该外部函数的实现代码。在执行该智能合约时,由虚拟机从本地的模块库中确定出用于实现该外部函数的字节码模块,进而获取到与该字节码模块对应的可执行代码块,并将该代码段与合约代码相链接,从而执行该外部函数。
编译和执行智能合约的方法及装置.pdf
本说明书实施例提供一种编译和执行智能合约的方法和装置,根据上述方法,在对智能合约进行编译而该智能合约依赖于外部函数时,不再将外部函数的实现代码纳入到合约中进行编译,而是将其转化为一条对该外部函数的调用指令,并将函数的声明信息添加到合约模块的导入区段中。如此生成的合约模块中仅包含外部函数的声明信息,而不包含该外部函数的实现代码。在执行该智能合约时,由虚拟机从其包含的采用相同语言实现的函数库中确定出用于实现该外部函数的函数代码,进而获取到与之对应的可执行代码块,并将该代码段与合约代码相链接,从而执行该外部函数
生成和执行智能合约交易的方法及装置.pdf
本说明书实施例提供一种保护隐私数据的发起和执行智能合约交易的方法和装置。利用上述发起智能合约交易的方法,将输入到智能合约的隐私数据划分隐私文本和隐私数值。对于隐私文本,基于指定的多个参与方的公钥,聚合生成对称秘钥,采用对称加密方式进行加密,得到文本加密数据。对于隐私数值,在对称秘钥的基础上,生成合约公钥私钥对,利用合约公钥,采用同态加密的方式对其进行加密,得到数值加密数据。当将以上加密后的智能合约交易发布到区块链上时,区块链节点可以对数值加密数据进行同态运算,从而进行链上执行。并且,加密算法的设计使得只有
缓存和执行智能合约的方法和装置.pdf
本说明书实施例提供了一种智能合约缓存方法和装置,所述方法由区块链节点的虚拟机执行第一交易时执行,所述第一交易用于调用第一合约的第一函数,所述方法包括:确定内存中是否缓存有所述第一合约的WASM指令序列;在确定内存中缓存了所述第一合约的WASM指令序列的情况中,从内存中读取所述第一合约的WASM指令序列,以获取所述第一函数的WASM指令序列;基于所述第一交易中的数据字段解释执行所述第一函数的WASM指令序列。