【技术实现步骤摘要】
一种智能合约的创建方法和装置
本说明书一个或多个实施例涉及区块链
,尤其涉及一种智能合约的创建方法和装置。
技术介绍
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
技术实现思路
有鉴于此,本说明书一个或多个实施方式提供了一种智能合约的创建方法、装置和计算机设备。为实现上述目的,本说明书一个或多个实施方式提供技术方案如下:根据本说明书一个或多个实施方式的第一方面,提出了一种智能合约的创建方法,应用于区块链的节点设备,所述节点设备搭载的系统资源与在所述区块链上发布的虚拟资源进行了价值锚定,包括:接收区块链客户端发送的智能合约创建交易,所述智能合约创建交易包括智能合约代码、用户请求的与所述智能合约对应的账户存储容量和用户账户的账户标识;计算与处理所述智能合约创建交易所消耗的节点设备的系统资源价值锚定的所述虚拟资源的第一数量;其中,所述处理所述智能合约创建交易所消耗的节点设备的系统资源包括节点设备基于用户请求的所述账户存储容量为所述智能合约分配的账户存储资源;从所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源,并进一步执行所述智能合约创建交易,在所述区块链中创建与所述智能合约代码对应的智能合约账户,以及基 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。