一种智能合约的创建方法和装置制造方法及图纸

技术编号:26421133 阅读:22 留言:0更新日期:2020-11-20 14:17
本说明书提供了一种智能合约的创建方法和装置,应用于区块链的节点设备,所述节点设备搭载的系统资源与在所述区块链上发布的虚拟资源进行了价值锚定,包括:接收区块链客户端发送的智能合约创建交易,所述智能合约创建交易包括智能合约代码、用户请求的与所述智能合约对应的账户存储容量和用户账户的账户标识;计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;从所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源,并执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户。

【技术实现步骤摘要】
一种智能合约的创建方法和装置
本说明书一个或多个实施例涉及区块链
,尤其涉及一种智能合约的创建方法和装置。
技术介绍
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
技术实现思路
有鉴于此,本说明书一个或多个实施方式提供了一种智能合约的创建方法、装置和计算机设备。为实现上述目的,本说明书一个或多个实施方式提供技术方案如下:根据本说明书一个或多个实施方式的第一方面,提出了一种智能合约的创建方法,应用于区块链的节点设备,所述节点设备搭载的系统资源与在所述区块链上发布的虚拟资源进行了价值锚定,包括:接收区块链客户端发送的智能合约创建交易,所述智能合约创建交易包括智能合约代码、用户请求的与所述智能合约对应的账户存储容量和用户账户的账户标识;计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;其中,所述处理所述智能合约创建交易所消耗的节点设备的系统资源包括节点设备基于用户请求的所述账户存储容量为所述智能合约分配的账户存储资源;从所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源,并进一步执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户,以及基于所述账户存储容量为所述智能合约账户分配账户存储资源。根据本说明书一个或多个实施方式的第二方面,提出了一种智能合约的创建方法,应用于区块链的节点设备,所述节点设备搭载的系统资源与在所述区块链上发布的虚拟资源进行了价值锚定,包括:接收区块链客户端发送的智能合约创建交易,所述智能合约创建交易包括智能合约代码、用户请求的与所述智能合约对应的账户存储容量和用户账户的账户标识;执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户,以及基于所述账户存储容量为所述智能合约账户分配账户存储资源;在执行所述智能合约创建交易之后,计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;其中,所述处理所述智能合约创建交易所消耗的节点设备的系统资源包括节点设备基于用户请求的所述账户存储容量为所述智能合约分配的账户存储资源;并从所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源。根据本说明书一个或多个实施方式的第三方面,提出了一种智能合约的创建装置,应用于区块链的节点设备,所述节点设备搭载的系统资源与在所述区块链上发布的虚拟资源进行了价值锚定,包括:接收单元,接收区块链客户端发送的智能合约创建交易,所述智能合约创建交易包括智能合约代码、用户请求的与所述智能合约对应的账户存储容量和用户账户的账户标识;计算单元,计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;其中,所述处理所述智能合约创建交易所消耗的节点设备的系统资源包括节点设备基于用户请求的所述账户存储容量为所述智能合约分配的账户存储资源;扣除单元,从所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源;执行单元,在从所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源之后,执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户,以及基于所述账户存储容量为所述智能合约账户分配账户存储资源。根据本说明书一个或多个实施方式的第四方面,提出了一种智能合约的创建装置,应用于区块链的节点设备,所述节点设备搭载的系统资源与在所述区块链上发布的虚拟资源进行了价值锚定,包括:接收单元,接收区块链客户端发送的智能合约创建交易,所述智能合约创建交易包括智能合约代码、用户请求的与所述智能合约对应的账户存储容量和用户账户的账户标识;执行单元,执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户,以及基于所述账户存储容量为所述智能合约账户分配账户存储资源;计算单元,在执行所述智能合约创建交易之后,计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;其中,所述处理所述智能合约创建交易所消耗的节点设备的系统资源包括节点设备基于用户请求的所述账户存储容量为所述智能合约分配的账户存储资源;扣除单元,从所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源。根据本说明书一个或多个实施方式的第五方面,提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如上述第一方面对应的实施方式中节点设备所执行的智能合约的创建方法。根据本说明书一个或多个实施方式的第五方面,提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如上述第二方面对应的实施方式中节点设备所执行的智能合约的创建方法。基于上述一种或多种实施方式所述的智能合约的创建方法、装置和计算机设备,区块链的节点设备搭载的系统资源可与虚拟资源进行价值锚定,从而可基于节点设备处理智能合约创建交易所消耗的区块链的节点设备的系统资源(包括基于用户请求的所述账户存储容量为所述智能合约分配的账户存储资源),锚定第一数量的虚拟资源,并由区块链的节点设备从智能合约创建交易包含的用户账户中扣除所述第一数量的虚拟资源;达到量化智能合约创建交易所消耗的区块链系统资源,并基于量化的区块链系统资源向用户收取相应虚拟资源费用的效果。附图说明图1是一示例性实施例提供的创建智能合约的示意图;图2是一示例性实施例提供的一种调用智能合约的示意图;图3是一示例性实施例提供的创建智能合约和调用智能合约的示意图;图4是一示例性实施例提供的智能合约的创建方法的流程示意图;图5是一示例性实施例提供的应用于区块链的节点设备端的智能合约的创建装置的示意图;图6是又一示例性实施例提供的应用于区块链的节点设备端的智能合约的创建装置的示意图;图7是运行本说明书所提供的智能合约的创建装置实施例的一种硬件结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法本文档来自技高网...

【技术保护点】
1.一种智能合约的创建方法,应用于区块链的节点设备,所述节点设备搭载的系统资源与在所述区块链上发布的虚拟资源进行了价值锚定,包括:/n接收区块链客户端发送的智能合约创建交易,所述智能合约创建交易包括智能合约代码、用户请求的与所述智能合约对应的账户存储容量和用户账户的账户标识;/n计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;其中,所述处理所述智能合约创建交易所消耗的节点设备的系统资源包括节点设备基于用户请求的所述账户存储容量为所述智能合约分配的账户存储资源;/n从所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源,并进一步执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户,以及基于所述账户存储容量为所述智能合约账户分配账户存储资源。/n

【技术特征摘要】
1.一种智能合约的创建方法,应用于区块链的节点设备,所述节点设备搭载的系统资源与在所述区块链上发布的虚拟资源进行了价值锚定,包括:
接收区块链客户端发送的智能合约创建交易,所述智能合约创建交易包括智能合约代码、用户请求的与所述智能合约对应的账户存储容量和用户账户的账户标识;
计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;其中,所述处理所述智能合约创建交易所消耗的节点设备的系统资源包括节点设备基于用户请求的所述账户存储容量为所述智能合约分配的账户存储资源;
从所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源,并进一步执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户,以及基于所述账户存储容量为所述智能合约账户分配账户存储资源。


2.根据权利要求1所述的方法,还包括:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有,并在分配完毕后进一步执行所述智能合约创建交易。


3.根据权利要求2所述的方法,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有,包括:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,平均分配至所述区块链的各个节点设备对应的区块链账户分别进行持有;
或者,基于所述区块链的各个节点设备为所述智能合约分配的账户存储资源的存储介质性能属性,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的各个节点设备对应的区块链账户分别进行持有。


4.根据权利要求1所述的方法,所述智能合约创建交易还包括:用户请求的所述账户存储容量对应的有效时长;
所述节点设备搭载的存储资源的有效时长与在所述区块链上发布的虚拟资源进行了价值锚定;
计算与所述账户存储资源价值锚定的虚拟资源的数量,包括:
计算与所述账户存储资源以及所述有效时长价值锚定的虚拟资源的数量。


5.根据权利要求1所述的方法,所述区块链中维护了所述账户存储资源的剩余存储容量;和/或,与所述账户存储资源对应的剩余有效时长;
所述方法还包括:
响应于区块链客户端发起的针对所述智能合约的调用交易,验证所述区块链中维护的所述剩余存储容量是否低于预设阈值;和/或,所述剩余有效时长是否低于预设阈值;
如果是,向发送所述调用交易的区块链客户端返回所述调用交易执行失败的提示;
如果否,在执行所述智能合约的调用交易后,更新所述区块链中维护的所述剩余存储容量,和/或,所述剩余有效时长。


6.根据权利要求5所述的方法,所述执行所述智能合约的调用交易,包括:
调用所述智能合约的虚拟资源转移逻辑,从发送所述调用交易的用户账户中扣除与所述调用交易对应的虚拟资源数量,并将与所述调用交易对应的虚拟资源数量分配至所述智能合约账户或所述智能合约维护的管理用户账户。


7.根据权利要求1所述的方法,还包括:
如果与所述账户标识对应的用户账户中持有的虚拟资源的数量小于所述第一数量,向所述区块链客户端返回所述智能合约创建交易执行失败的提示。


8.根据权利要求1所述的方法,处理所述智能合约创建交易所消耗的所述节点设备的系统资源,还包括:
处理所述智能合约创建交易所消耗的所述节点设备的计算资源;或者,
处理所述智能合约创建交易所消耗的所述节点设备的网络资源。


9.根据权利要求1或8所述的方法,所述区块链部署了资源计算智能合约,所述资源计算智能合约中的合约代码对应的执行逻辑包括资源计算逻辑;
所述计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量,包括:
调用所述资源计算智能合约,执行所述资源计算逻辑,计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量。


10.根据权利要求1所述的方法,在执行所述智能合约创建交易之前,所述方法还包括:
将所述智能合约创建交易广播至区块链网络以对所述智能合约创建交易进行共识验证;其中,所述共识验证包括:验证所述用户账户持有的虚拟资源的数量是否不小于预设阈值;
如果对所述智能合约创建交易的共识验证通过,执行所述智能合约创建交易。


11.一种智能合约的创建方法,应用于区块链的节点设备,所述节点设备搭载的系统资源与在所述区块链上发布的虚拟资源进行了价值锚定,包括:
接收区块链客户端发送的智能合约创建交易,所述智能合约创建交易包括智能合约代码、用户请求的与所述智能合约对应的账户存储容量和用户账户的账户标识;
执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户,以及基于所述账户存储容量为所述智能合约账户分配账户存储资源;
在执行所述智能合约创建交易之后,计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;其中,所述处理所述智能合约创建交易所消耗的节点设备的系统资源包括节点设备基于用户请求的所述账户存储容量为所述智能合约分配的账户存储资源;并从所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源。


12.根据权利要求11所述的方法,还包括:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有。


13.根据权利要求12所述的方法,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有,包括:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,平均分配至所述区块链的各个节点设备对应的区块链账户分别进行持有;
或者,基于所述区块链的各个节点设备为所述智能合约分配的账户存储资源的存储介质性能属性,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的各个节点设备对应的区块链账户分别进行持有。


14.根据权利要求11所述的方法,所述智能合约创建交易还包括:
用户请求的所述账户存储容量对应的有效时长;所述节点设备搭载的存储资源的有效时长与在所述区块链上发布的虚拟资源进行了价值锚定;
计算与所述账户存储资源价值锚定的虚拟资源的数量,包括:
计算与所述账户存储资源以及所述有效时长价值锚定的虚拟资源的数量。


15.根据权利要求11所述的方法,所述区块链中维护了所述账户存储资源的剩余存储容量;和/或,与所述账户存储资源对应的剩余有效时长;
所述方法还包括:
响应于区块链客户端发起的针对所述智能合约的调用交易,验证所述区块链中维护的所述剩余存储容量是否低于预设阈值;和/或,所述剩余有效时长是否低于预设阈值;
如果是,向发送所述调用交易的区块链客户端返回所述调用交易执行失败的提示;
如果否,在执行所述智能合约的调用交易后,更新所述区块链中维护的所述账户存储资源的所述剩余存储容量,和/或,所述剩余有效时长。


16.根据权利要求15所述的方法,所述执行所述智能合约的调用交易,包括:
调用所述智能合约的虚拟资源转移逻辑,从发送所述调用交易的用户账户中扣除与所述调用交易对应的虚拟资源数量,并将与所述调用交易对应的虚拟资源数量分配至所述智能合约账户或所述智能合约维护的管理用户账户。


17.根据权利要求11所述的方法,还包括:
如果从与所述账户标识对应的用户账户中持有的虚拟资源中成功扣除所述第一数量的虚拟资源,将生成的所述智能合约创建交易对应的交易收据存储至所述区块链,并向所述区块链客户端返回所述智能合约创建成功的提示;
如果与所述账户标识对应的用户账户中持有的虚拟资源的数量小于所述第一数量,删除生成的所述智能合约创建交易对应的交易收据,并向所述区块链客户端返回所述智能合约创建失败的提示。


18.根据权利要求11所述的方法,处理所述智能合约创建交易所消耗的所述节点设备的系统资源,还包括:
处理所述智能合约创建交易所消耗的所述节点设备的计算资源;或者,
处理所述智能合约创建交易所消耗的所述节点设备的网络资源。


19.根据权利要求11或18所述的方法,所述区块链部署了资源计算智能合约,所述资源计算智能合约中的合约代码对应的执行逻辑包括资源计算逻辑;
所述计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量,包括:
调用所述资源计算智能合约,执行所述资源计算逻辑,计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量。


20.根据权利要求11所述的方法,在执行所述智能合约创建交易之前,所述方法还包括:
将所述智能合约创建交易广播至区块链网络以对所述智能合约创建交易进行共识验证;其中,所述共识验证包括:验证所述用户账户持有的虚拟资源的数量是否不小于预设阈值;
如果对所述智能合约创建交易的共识验证通过,执行所述智能合约创建交易。


21.一种智能合约的创建装置,应用于区块链的节点设备,所述节点设备搭载的系统资源与在所述区块链上发布的虚拟资源进行了价值锚定,包括:
接收单元...

【专利技术属性】
技术研发人员:卓海振
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1