【技术实现步骤摘要】
一种智能合约的创建方法和装置
本说明书一个或多个实施例涉及区块链
,尤其涉及一种智能合约的创建方法和装置。
技术介绍
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
技术实现思路
有鉴于此,本说明书一个或多个实施方式提供了一种智能合约的创建方法、装置和计算机设备。为实现上述目的,本说明书一个或多个实施方式提供技术方案如下:根据本说明书一个或多个实施方式的第一方面,提出了一种智能合约的创建方法,应用于对区块链的节点设备执行管理的管理平台,所述区块链的节点设备搭载的系统资源与虚拟资源进行了价值锚定;所述方法包括:获取区块链客户端触发的智能合约创建交易,所述智能合约创建交易包括智能合约代码和用户请求的与所述智能合约对应的账户存储容量;计算与处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;其中,所述处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源,包括基于用户请求的所述账户存储容量,在节点设备中为所述智能合约分配的账户存储资源;在所述用户的虚拟资源账户被扣除所述第一数量的虚拟资源之后,将所述智能合约创建交易发送至所述区块链,以使所述区块链的节点设备执行所述智能合约创 ...
【技术保护点】
1.一种智能合约的创建方法,应用于对区块链的节点设备执行管理的管理平台,所述区块链的节点设备搭载的系统资源与虚拟资源进行了价值锚定;所述方法包括:/n获取区块链客户端触发的智能合约创建交易,所述智能合约创建交易包括智能合约代码和用户请求的与所述智能合约对应的账户存储容量;/n计算与处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;其中,所述处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源,包括基于用户请求的所述账户存储容量,在节点设备中为所述智能合约分配的账户存储资源;/n在所述用户的虚拟资源账户被扣除所述第一数量的虚拟资源之后,将所述智能合约创建交易发送至所述区块链,以使所述区块链的节点设备执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户。/n
【技术特征摘要】
1.一种智能合约的创建方法,应用于对区块链的节点设备执行管理的管理平台,所述区块链的节点设备搭载的系统资源与虚拟资源进行了价值锚定;所述方法包括:
获取区块链客户端触发的智能合约创建交易,所述智能合约创建交易包括智能合约代码和用户请求的与所述智能合约对应的账户存储容量;
计算与处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;其中,所述处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源,包括基于用户请求的所述账户存储容量,在节点设备中为所述智能合约分配的账户存储资源;
在所述用户的虚拟资源账户被扣除所述第一数量的虚拟资源之后,将所述智能合约创建交易发送至所述区块链,以使所述区块链的节点设备执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户。
2.根据权利要求1所述的方法,还包括:
将所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的虚拟资源账户进行持有。
3.根据权利要求2所述的方法,所述将所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的虚拟资源账户进行持有,包括:
将所述第一数量的虚拟资源,平均分配至所述区块链的节点设备对应的虚拟资源账户进行持有;
或者,基于所述区块链的各个节点设备为所述智能合约分配的账户存储资源的存储介质性能属性,将所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的虚拟资源账户进行持有。
4.根据权利要求1所述的方法,所述智能合约创建交易还包括:用户请求的所述账户存储容量对应的有效时长;
所述节点设备搭载的存储资源的有效时长与在所述区块链上发布的虚拟资源进行了价值锚定;
计算与所述账户存储资源价值锚定的虚拟资源的数量,包括:
计算与所述账户存储资源以及所述有效时长价值锚定的虚拟资源的数量。
5.根据权利要求1所述的方法,所述管理平台中维护了节点设备为所述智能合约分配的账户存储资源的剩余存储容量;和/或,与所述账户存储资源对应的剩余有效时长;
所述方法还包括:
响应于区块链客户端发起的针对所述智能合约的调用交易,验证所述区块链中维护的所述剩余存储容量是否低于预设阈值;和/或,所述剩余有效时长是否低于预设阈值;
如果是,向发送所述调用交易的区块链客户端返回所述调用交易执行失败的提示;
如果否,在执行所述智能合约的调用交易后,更新所述管理平台中维护的所述剩余存储容量,和/或,所述剩余有效时长。
6.根据权利要求5所述的方法,所述执行所述智能合约的调用交易,包括:
调用所述智能合约的虚拟资源转移逻辑,从发送所述调用交易的用户账户中扣除与所述调用交易对应的虚拟资源数量,并将与所述调用交易对应的虚拟资源数量分配至所述智能合约账户或所述智能合约维护的管理用户账户。
7.根据权利要求1所述的方法,处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源,包括:
处理所述智能合约创建交易所消耗的所述区块链的节点设备的计算资源;或者,
处理所述智能合约创建交易所消耗的所述区块链的节点设备的网络资源。
8.根据权利要求7所述的方法,所述区块链部署了资源计算合约,所述资源计算合约的合约代码包含的执行逻辑包括资源计算逻辑;
所述计算与处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源价值锚定的所述虚拟资源的第一数量,包括:
调用所述资源计算智能合约,执行所述资源计算逻辑,计算与处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源价值锚定的所述虚拟资源的第一数量。
9.根据权利要求1所述的方法,还包括:
在将所述智能合约创建交易发送至所述区块链之前,如果所述用户的所述虚拟资源账户在预设时限内未被成功扣除所述第一数量的虚拟资源,向所述区块链客户端返回所述智能合约创建交易执行失败的提示。
10.根据权利要求1所述的方法,所述管理平台包括云计算管理平台;所述区块链的节点设备包括在云计算管理平台管理的物理主机上创建的虚拟机。
11.一种智能合约的创建方法,应用于对区块链的节点设备执行管理的管理平台,所述区块链的节点设备搭载的系统资源与虚拟资源进行了价值锚定;所述方法包括:
获取区块链客户端触发的智能合约创建交易,所述智能合约创建交易包括智能合约代码和用户请求的与所述智能合约对应的账户存储容量;
将所述智能合约创建交易发送至所述区块链,以使所述区块链的节点设备执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户;
计算与处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源价值锚定的所述虚拟资源的第一数量,以使所述用户的虚拟资源账户被扣除所述第一数量的虚拟资源;其中,所述处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源包括基于用户请求的所述账户存储容量,节点设备为所述智能合约分配的账户存储资源。
12.根据权利要求11所述的方法,还包括:
将所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的虚拟资源账户进行持有。
13.根据权利要求12所述的方法,所述将所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的虚拟资源账户进行持有,包括:
将所述第一数量的虚拟资源,平均分配至所述区块链的节点设备对应的虚拟资源账户进行持有;
或者,基于所述区块链的各个节点设备为所述智能合约分配的账户存储资源的存储介质属性,将所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的虚拟资源账户进行持有。
14.根据权利要求11所述的方法,所述智能合约创建交易还包括:用户请求的所述账户存储容量对应的有效时长;
所述节点设备搭载的存储资源的有效时长与在所述区块链上发布的虚拟资源进行了价值锚定;
计算与所述账户存储资源价值锚定的虚拟资源的数量,包括:
计算与所述账户存储资源以及所述有效时长价值锚定的虚拟资源的数量。
15.根据权利要求11所述的方法,所述管理平台中维护了节点设备可为所述智能合约分配的账户存储资源的剩余存储容量;和/或,与所述账户存储资源对应的剩余有效时长;
所述方法还包括:
响应于区块链客户端发起的针对所述智能合约的调用交易,验证所述区块链中维护的所述剩余存储容量是否低于预设阈值;和/或,所述剩余有效时长是否低于预设阈值;
如果是,向发送所述调用交易的区块链客户端返回所述调用交易执行失败的提示;
如果否,在执行所述智能合约的调用交易后,更新所述管理平台中维护的所述剩余存储容量,和/或,所述剩余有效时长。
16.根据权利要求15所述的方法,所述执行所述智能合约的调用交易,包括:
调用所述智能合约的虚拟资源转移逻辑,从发送所述调用交易的用户账户中扣除与所述调用交易对应的虚拟资源数量,并将与所述调用交易对应的虚拟资源数量分配至所述智能合约账户或所述智能合约维护的管理用户账户。
17.根据权利要求11所述的方法,处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源,包括以下示出的一个或者多个的组合:
处理所述智能合约创建交易所实际消耗的所述区块链的节点设备的计算资源;或者,
处理所述智能合约创建交易所实际消耗的所述区块链的节点设备的网络资源。
18.根据权利要求17所述的方法,所述区块链部署了资源计算合约,所述资源计算合约的合约代码对应的执行逻辑包括资源计算逻辑;
所述计算与处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源价值锚定的所述虚拟资源的第一数量,包括:
调用所述资源计算智能合约,执行所述资源计算逻辑,计算与处理所述智能合约创建交易所消耗的所述区块链的节点设备的系统资源价值锚定的所述虚拟资源的第一数量。
19.根据权利要求11所述的方法,所述虚拟资源为与将用户持有的链外资产作为价值锚定,在区块链上发布的区块链资产;所述用户的所述虚拟资源账户包括所述用户的区块链账户;
所述智能合约创建交易还可包括用户的区块链账户的账户标识。
20.根据权利要求11或19所述的方法,
如果所述用户的所述虚拟资源账户被成功扣除所述第一数量的虚拟资源,基于区块链中存储的与所述智能合约创建交易对应的交易收据,向所述区块链客户端返回所述智能合约创建成功的提示;
如果所述用户的所述虚拟资源账户持有的虚拟资源的数量小于所述第一数量,指示节点设备删除与所述智能合约创建交易对应的交易收据,并向所述区块链客户端返回所述智能合约创建失败的提示。
21.根据权利要求20所述的方法,在节点设备执行所述智能合约创建交易之前,所述方法还包括:
节点设备将所述智能合约创建交易广播至区块链网络以对所述智能合约创建交易进行共识验证;其中,所述共识验证包括:验证所述用户账户持有的虚拟资源的数量是否不小于预设阈值;
如果对所述智能合约创建交易的共识验证通过,节点设备执行所述智能合约创建交易。
22.根据权利要求11所述的方法,所述管理平台包括云计算管理平台;所述区块链的节点设备包括...
【专利技术属性】
技术研发人员:卓海振,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。