【技术实现步骤摘要】
智能合约部署方法、装置、电子设备及存储介质
本专利技术涉及区块链领域,尤其涉及一种智能合约部署方法、装置、电子设备及存储介质。
技术介绍
现有的区块链智能合约系统(以太坊的solidity):目前区块链主要的智能合约系统是以以太坊系统为代表的solidity智能合约。solidity智能合约执行依赖于以太坊虚拟机EVM。合约执行流程是第一步使用solidity语言编写合约脚本,第二步将合约脚本编译成evm字节码程序,第三步将编译好的合约程序部署到以太坊链上去,部署成功后会返回合约地址和合约调用的接口。第四步可以通过合约地址进行合约调用。现有的技术的主要缺陷:1)合约执行依赖的EVM包含了大量的以太坊源码,与以太坊系统耦合度太高,对于其他区块链系统移植的复杂度高,可行性小。2)合约代码需要借助编译工具编译后才可以进行部署,增加了使用复杂度。
技术实现思路
有鉴于此,本专利技术实施例提供了一种智能合约部署方法、装置、电子设备及存储介质,至少部分的解决现有技术中存在的问题。第一方面,本专利技术实施例提供了一种智能合约部署方法,包括:检查接收的合约交易中的合约代码是否正确;将 ...
【技术保护点】
1.一种智能合约部署方法,其特征在于,包括:检查接收的合约交易中的合约代码是否正确;将合约代码正确的合约交易的账号余额传送给虚拟机;将合约代码和合约相关参数传递给所述虚拟机,所述虚拟机将合约代码进行编译并执行,在执行过程中所述虚拟机按照代码操作码在所述账号余额中进行收费,所述代码操作码对所述虚拟机将合约代码进行编译得到的;接收所述虚拟机返回的合约执行结果,完成智能合约部署。
【技术特征摘要】
1.一种智能合约部署方法,其特征在于,包括:检查接收的合约交易中的合约代码是否正确;将合约代码正确的合约交易的账号余额传送给虚拟机;将合约代码和合约相关参数传递给所述虚拟机,所述虚拟机将合约代码进行编译并执行,在执行过程中所述虚拟机按照代码操作码在所述账号余额中进行收费,所述代码操作码对所述虚拟机将合约代码进行编译得到的;接收所述虚拟机返回的合约执行结果,完成智能合约部署。2.根据权利要求1所述的智能合约部署方法,其特征在于,所述虚拟机,包括:lua虚拟机。3.根据权利要求2所述的智能合约部署方法,其特征在于,所述检查接收的合约交易中的合约代码是否正确的步骤之前,包括:lua虚拟机通过虚拟栈的方式与c++底层进行交互。4.根据权利要求3所述的智能合约部署方法,其特征在于,所述合约交易,包括:合约部署交易和合约调用交易;所述合约部署交易:是将合约代码存储到区块链上,如果部署成功,则返回合约地址;所述合约调用交易:是通过合约地址找到合约代码,并执行合约代码,如执行成功,则返回合约调用结果。5.根据权利要求4所述的智能合约部署方法,其特征在于,所述检查接收的合约交易中的合约代码是否正确,包括:检查所述合约代码中有无多个Init函数,如果有,则返回错误信息。6.根据权利要求4所述的智能合约部署方法,其特征在于,所述在执行过程中所述虚拟机按照代码操作码在所述账号余额中进行收费,包括:如果所述账号余额不够,则执...
【专利技术属性】
技术研发人员:田周辉,杨建新,江立平,
申请(专利权)人:无锡井通网络科技有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。