CN113360883B - 一种智能合约的处理方法、装置、计算机设备及存储介质 - Google Patents
一种智能合约的处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113360883B CN113360883B CN202110649601.5A CN202110649601A CN113360883B CN 113360883 B CN113360883 B CN 113360883B CN 202110649601 A CN202110649601 A CN 202110649601A CN 113360883 B CN113360883 B CN 113360883B
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- access
- state
- target intelligent
- opening state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种智能合约的处理方法、装置、计算机设备及存储介质。本方案在智能合约中设计指定程序逻辑,通过对指定程序逻辑中的第一指定参数的参数值进行修改,以实现对部署在区块链平台中的智能合约的权限访问开放状态进行调整,当部署在区块链平台中的智能合约出现异常问题时,可以调整智能合约的权限访问开放状态为禁止访问状态,则后续需要调用该异常问题的智能合约的交易业务无法执行,从而可以提高区块链平台的资源利用率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种智能合约的处理方法、装置、计算机设备及存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。
发明内容
本申请实施例提供一种智能合约的处理方法、装置、计算机设备及存储介质,可以提高区块链平台的资源利用率。
本申请实施例提供了一种智能合约的处理方法,包括:
接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述目标智能合约包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态;
获取所述目标智能合约的当前访问权限开放状态;
若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应。
相应的,本申请实施例提供了另一种智能合约的处理方法,包括:
接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述区块链平台包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态;
获取所述目标智能合约的当前访问权限开放状态;
若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应。
相应的,本申请实施例还提供了一种智能合约的处理装置,包括:
第一接收单元,用于接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
第一确定单元,用于根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述目标智能合约包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态;
第一获取单元,用于获取所述目标智能合约的当前访问权限开放状态;
第一响应单元,用于若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应。
在一些实施例中,第一获取单元包括:
获取子单元,用于获取所述指定程序逻辑中第一指定参数的参数值,所述第一指定参数指示所述目标智能合约的访问权限开放状态;
第一确定子单元,用于根据所述第一指定参数的参数值确定所述目标智能合约的当前访问权限开放状态。
在一些实施例中,该装置还包括:
第三接收单元,用于接收用户通过所述区块链平台触发对所述目标智能合约的修改指令;
运行单元,用于响应所述修改指令,运行所述指定程序逻辑对所述目标智能合约的访问权限开放状态进行调整。
在一些实施例中,运行单元包括:
调整子单元,用于根据所述修改指令对所述指定程序逻辑中第一指定参数的参数值进行调整,并基于调整后的第一指定参数的参数值确定所述智能合约的访问权限开放状态;
第二确定子单元,用于若所述调整后的第一指定参数的参数值为第一参数值,则确定所述智能合约的访问权限开放状态为禁止访问状态;
第三确定子单元,用于若所述调整后的第一指定参数的参数值为第二参数值,则确定所述智能合约的访问权限开放状态为支持访问状态。
在一些实施例中,该装置还包括:
第三获取单元,用于当所述目标智能合约的访问权限开放状态为支持访问状态,获取所述目标智能合约中第二指定参数的参数值的变化幅度值,所述第二指定参数指示交易业务的交易额度;
第一切换单元,用于若所述变化幅度值大于预设阈值,则将所述目标智能合约的访问权限开放状态切换为所述禁止访问状态。
在一些实施例中,该装置还包括:
第四获取单元,用于当所述目标智能合约的访问权限开放状态为支持访问状态,获取所述目标智能合约中第三指定参数的参数值在预设时间段内的变化频率,所述第三指定参数指示交易业务的交易次数;
第二切换单元,用于若所述变化频率大于预设频率,则将所述目标智能合约的访问权限开放状态切换为所述禁止访问状态。
在一些实施例中,该装置还包括:
生成单元,用于若所述当前访问权限开放状态为禁止访问状态,则生成提示信息,所述提示信息指示禁止访问所述目标智能合约。
在一些实施例中,该装置还包括:
第四接收单元,用于接收用户通过所述区块链平台触发对所述目标智能合约的更新指令;
更新单元,用于响应所述更新指令对所述目标智能合约进行更新操作;
部署单元,用于将更新后的所述目标智能合约部署在所述区块链平台。
在一些实施例中,该装置还包括:
执行单元,用于若所述当前访问权限开放状态为支持访问状态,则响应所述业务请求,基于所述目标智能合约执行交易业务。
相应的,本申请实施例还提供了另一种智能合约的处理装置,包括:
第二接收单元,用于接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
第二确定单元,用于根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述区块链平台包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态;
第二获取单元,用于获取所述目标智能合约的当前访问权限开放状态;
第二响应单元,用于若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应。
相应的,本申请实施例还提供了一种计算机设备,包括存储器,处理器及存储在储存器上并可在处理器上运行的计算机程序,其中,处理器执行本申请实施例任一提供的智能合约的处理方法。
相应的,本申请实施例还提供了一种存储介质,存储介质存储有多条指令,指令适于处理器进行加载,以执行如上的智能合约的处理方法。
本申请实施例在智能合约中设计指定程序逻辑,通过对指定程序逻辑中的第一指定参数的参数值进行修改,以实现对部署在区块链平台中的智能合约的权限访问开放状态进行调整,当部署在区块链平台中的智能合约出现异常问题时,可以调整智能合约的权限访问开放状态为禁止访问状态,则后续需要调用该异常问题的智能合约的交易业务无法执行,从而可以提高区块链平台的资源利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种分布式系统应用于区块链平台的结构示意图。
图2为本申请实施例提供的一种智能合约的处理方法的流程示意图。
图3为本申请实施例提供的另一种智能合约的处理方法的流程示意图。
图4为本申请实施例提供的另一种智能合约的处理方法的流程示意图。
图5为本申请实施例提供的一种智能合约的处理装置的结构框图。
图6为本申请实施例提供的另一种智能合约的处理装置的结构框图。
图7为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
下面首先对本申请实施例中涉及到的一些基本概念进行介绍:
区块链:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,区块链是比特币的一个重要概念,它本质上是一个去中介化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性和生成下一个区块,一般说来,区块链多链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
智能合约:是一套以数字形式定义、传播、验证或执行的约定,包括合约参与方可以在上面执行这些约定的协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
在相关技术中,通过在区块链中部署智能合约,以执行智能合约对应的交易业务。当检测到智能合约出现异常后,后续执行交易业务时仍然会调用该智能合约,从而导致资源浪费。
基于上述问题,本申请实施例提供第一种智能合约的处理方法、装置、计算机设备及存储介质,可以提高区块链平台的资源利用率。
本申请实施例涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算机设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链平台为例,请参阅图1,图1是本申请实施例提供的一种分布式系统应用于区块链平台的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参阅图1示出的区块链平台中各节点的功能,涉及的功能包括:路由,节点具有的基本功能,用于支持节点之间的通信。节点除具有路由功能外,还可以具有以下功能:
应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链平台中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链平台中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链平台中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链平台中节点提交的记录数据。
本申请实施例提供一种智能合约的处理方法、装置、存储介质及计算机设备。具体地,本申请实施例的智能合约的处理方法可以由计算机设备执行,该计算机设备额可以为终端或者服务器。其中,服务器可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本申请实施例中所描述的服务器,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,终端可以是手机、平板电脑、笔记本电脑,掌上电脑等移动终端,以及诸如台式计算机等固定终端。
例如,该计算机设备可以是服务器,该服务器可以接收业务请求,业务请求指示基于部署在区块链平台中的智能合约执行交易业务;根据业务请求从区块链平台的智能合约中确定目标智能合约,其中,目标智能合约包括指定程序逻辑,指定程序逻辑用于调整目标智能合约的访问权限开放状态;获取目标智能合约的当前访问权限开放状态;若当前访问权限开放状态为禁止访问状态,则禁止对业务请求进行响应。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本申请实施例提供一种智能合约的处理方法,该方法可以由终端或服务器执行,本申请实施例以智能合约的处理方法由服务器执行为例来进行说明。
请参阅图2,图2为本申请实施例提供的一种智能合约的处理方法的流程示意图。该智能合约的处理方法的具体流程可以如下:
101、接收业务请求。
其中,业务请求指示基于部署在区块链平台中的智能合约执行交易业务。
具体的,用户通过编程应用编写智能合约的源程序,然后通过对智能合约的源程序进行编译、运行操作,将智能合约部署至区块链平台中,然后区块链平台可以为智能合约分配一个地址。区块链平台中,可以部署有多个不同的智能合约。
其中,交易业务指的是通过智能合约执行的交易任务,智能合约通过数字代码来执行的,智能合约是一种协议式的交易,每一笔交易会存储在区块链平台的分布式账本中,也是完全公开透明的,只要满足了交易条件,就会自动发出交易指令,来完成这个操作。
102、根据业务请求从所述区块链平台的智能合约中确定目标智能合约。
其中,业务请求中可以携带有智能合约的标识,当接收到业务请求后,可以获取该业务请求中携带的智能合约标识,然后根据该智能合约标识,从区块链平台中,获取与该智能合约标识相同的智能合约,也即目标智能合约。
比如,区块链平台中部署有:智能合约A、智能合约B和智能合约C,智能合约A的标识可以为:111,智能合约B的标识可以为:222,智能合约C的标识可以:333。获取业务请求中携带的智能合约标识可以为:111,则可以确定目标智能合约为:智能合约A。
本申请实施例中,用户通过编程应用编写智能合约的源程序时,可以在智能合约的源程序中添加指定程序逻辑,该指定程序逻辑用于调整目标智能合约的访问权限开放状态。
例如,指定程序逻辑可以为:setContractStatus(bool status)方法,当智能合约的源程序在solc编译之前,增加"setContractStatus(bool status)"的方法,然后通过solc对智能合约进行编译,当接收到对于该智能合约的交易请求时,运行该智能合约即可以实现指定程序逻辑。其中,status为指定程序逻辑中的字段,也即变量,bool定义该字段的数据类型为布尔型变量。
其中,solc是solidity(编程语言)的命令行编译器,solidity编写的以太坊智能合约可通过带参数的命令行工具solc进行编译,成为以太坊虚拟机中的代码。最终部署到链上形成我们所见到的各种智能合约。以太坊是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether)提供去中心化的以太虚拟机(Ethereum VirtualMachine)来处理点对点合约。
其中,访问权限开放状态可以包括:禁止访问状态和支持访问状态等。其中,禁止访问状态指示禁止交易任务在智能合约上执行,支持访问状态指示允许交易任务在智能合约上执行。
103、获取目标智能合约的当前访问权限开放状态。
其中,当前访问权限开放状态指的是,接收到业务请求时,目标智能合约的权限开放状态。
在一些实施例中,为了快速确定目标智能合约的当前访问权限开放状态,步骤“获取目标智能合约的当前访问权限开放状态”,可以包括以下操作:
获取指定程序逻辑中第一指定参数的参数值;
根据第一指定参数的参数值确定目标智能合约的当前访问权限开放状态。
其中,第一指定参数指示目标智能合约的访问权限开放状态,第一指定参数可以为指定程序逻辑中的字段,则第一指定参数的参数值也即该字段对应的值。
在本申请实施例中,可以设定指定程序逻辑中定义的字段的值为不同值,以实现智能合约的不同访问权限开放状态。
例如,指定程序逻辑可以为:setContractStatus(bool status),字段可以为:status,字段对应的值可以为:false或者true等,当“status=false”表示访问权限开放状态为禁止访问状态;当“status=true”表示访问权限开放状态为支持访问状态。
在一些实施例中,为了对目标智能合约的访问权限开放状态进行调整,该方法还可以包括以下步骤:
接收用户通过区块链平台触发对目标智能合约的修改指令;
响应修改指令,运行指定程序逻辑对目标智能合约的访问权限开放状态进行调整。
具体的,用户可以通过区块链平台对目标智能合约进行修改操作,也即修改目标智能合约的源程序代码。
进一步的,通过用户对指定程序逻辑的修改操作触发修改指令,根据该修改指令以运行指定程序逻辑,从而对目标智能合约的访问权限开放状态进行调整。
在一些实施例中,为了提高访问权限开放状态的调整效率,步骤“响应所述修改指令,运行所述指定程序逻辑对所述目标智能合约的访问权限开放状态进行调整”,可以包括以下操作:
根据修改指令对指定程序逻辑中第一指定参数的参数值进行调整,并基于调整后的第一指定参数的参数值确定智能合约的访问权限开放状态;
若调整后的第一指定参数的参数值为第一参数值,则确定智能合约的访问权限开放状态为禁止访问状态;
若调整后的第一指定参数的参数值为第二参数值,则确定智能合约的访问权限开放状态为支持访问状态。
其中,用户通过对指定程序逻辑的修改操作,可以对指定逻辑程序中的第一指定参数的参数值进行修改,根据用户操作修改后的参数值可以确定目标智能合约的访问权限开放状态。
其中,第一参数值指示智能合约的访问权限开放状态为禁止访问状态;第二参数值指示智能合约的访问权限开放状态为支持访问状态。
例如,指定程序逻辑中的第一指定参数可以为:status,第一参数值可以为:false,第二参数值可以为:true。通过用户操作触发的修改指令,将第一指定参数status的参数值修改为:false,则可以确定将目标智能合约的访问权限开放状态设置为禁止访问状态,或者,通过用户操作触发的修改指令,将第一指定参数status的参数值修改为:true,则可以确定将目标智能合约的访问权限开放状态设置为支持访问状态,以此,可以实现对智能合约的访问权限的状态切换,当智能合约出现问题时,可以快速将智能合约设置为禁止访问状态,可以避免损失。
104、若当前访问权限开放状态为禁止访问状态,则禁止对业务请求进行响应。
例如,若获取到当前访问权限开放状态为禁止访问状态,则指示禁止交易任务在目标智能合约上执行,也即不会对业务请求进行响应,从而可以避免目标智能合约出现问题时,仍然在目标智能合约上执行交易任务,导致资源浪费。
在一些实施例中,为了避免浪费用户时间,该方法还可以包括以下步骤:
若当前访问权限开放状态为禁止访问状态,则生成提示信息。
其中,提示信息可以用于提示用户当前交易任务的目标智能合约为禁止访问状态。
例如,若获取到当前访问权限开放状态为禁止访问状态,则根据目标智能合约的当前访问权限开放状态生成提示信息,提示信息可以为:目标智能合约出现异常,目标智能合约为禁止访问状态。等,然后将提示信息展示在触发交易任务的终端上,以使用户可以及时了解该目标智能合约的运行情况,避免长时间等待交易执行,浪费时间。
在一些实施例中,该方法还可以包括以下步骤:
若当前访问权限开放状态为支持访问状态,则响应业务请求,基于目标智能合约执行交易业务。
例如,若获取到当前访问权限开放状态为支持访问状态,则指示允许交易任务在智能合约上执行,此时,响应业务请求执行该目标智能合约的交易任务,以完成当前交易任务。
在一些实施例中,为了提高对智能合约的访问权限开放状态的调整效率,该方法还可以包括以下步骤:
当目标智能合约的访问权限开放状态为支持访问状态,获取目标智能合约中第二指定参数的参数值的变化幅度值;
若变化幅度值大于预设阈值,则将目标智能合约的访问权限开放状态切换为禁止访问状态。
其中,第二指定参数指示交易业务的交易额度,该第二指定参数可以用于检测目标智能合约在区块链平台中运行正常情况。在实际目标智能合约参与的交易中,如转账交易等,第二指定参数可以表示转账额度,若转账额度在预设额度范围内时,可以确定目标智能合约运行正常;若转账额度超出预设转账额度,则可以确定目标智能合约运行不正常。
例如,在目标智能合约的数据中,设置一个热点数据,该热点数据的标识可以为:hotDate,表示该第二指定参数,通过检测该第二指定参数的参数值,判断目标智能合约在区块链平台运行是否正常,其中,第二指定参数的参数值可以为数值,例如,1、2、3等。
具体的,可以通过检测第二指定参数的参数值的变化幅度值,该变化幅度值指的是第二指定参数的参数值发生变化前后的差值。
比如,检测到第二指定参数的参数值发生改变,改变前的第二指定参数的参数值可以为:100,改变后的第二指定参数的参数值可以为:80等。则可以确定第二指定参数的参数值的变化幅度为:20。
在确定第二指定参数的参数值的变化幅度之后,将该变化幅度与预设阈值进行比较,该预设阈值指示目标智能合约正常运行时第二指定参数的参数值的最大变化幅度。若第二指定参数的参数值的变化幅度值小于或者等于预设阈值,则指示目标智能合约在区块链平台运行正常,若第二指定参数的参数值的变化幅度值大于预设阈值,则指示目标智能合约在区块链平台运行不正常。
进一步的,根据检测到的目标智能合约的运行异常,自动将目标智能合约的访问权限开放状态调整为禁止访问状态,以使后续执行该目标智能合约的交易业务禁止执行,可以避免用户损失。
在一些实施例中,为了提高对智能合约的访问权限开放状态的调整效率,该方法还可以包括以下步骤:
当目标智能合约的访问权限开放状态为支持访问状态,获取目标智能合约中第三指定参数的参数值在预设时间段内的变化频率;
若变化频率大于预设频率,则将目标智能合约的访问权限开放状态切换为禁止访问状态。
其中,第三指定参数指示交易业务的交易次数,第三指定参数可以用于检测目标智能合约在区块链平台中运行正常情况。在实际目标智能合约参与的交易中,如转账交易等,第三指定参数可以表示转账次数。若在指定时间段内,转账次数在预设转账次数范围内时,可以确定目标智能合约运行正常;若转账次数超出预设转账次数,则可以确定目标智能合约运行不正常。
具体的,还可以通过检测第三指定参数的参数值的变化频率,该变化频率指的是第三指定参数的参数值在预设时间段,也即设定的检测时间段内变化的次数。预设时间段可以根据实际情况进行设定,比如,预设时间段为1天等。
比如,目标智能合约在区块链平台中运行时,对每一次目标智能合约中第三指定参数的参数值发生变化时,记录发生变化的次数,获取第三指定参数的参数值在预设时间段1天内的变化次数可以为:5次等,则可以确定第三指定参数的参数值的变化频率为5次。
在确定第三指定参数的参数值的变化频率之后,将该变化频率与预设频率进行比较,该预设频率指示目标智能合约正常运行时指定参数的参数值的最大变化频率。若第三指定参数的参数值的变化频率值小于或者等于预设频率,则指示目标智能合约在区块链平台运行正常,若第三指定参数的参数值的变化频率大于预设频率,则指示目标智能合约在区块链平台运行不正常。
进一步的,根据检测到的目标智能合约的运行异常,自动将目标智能合约的访问权限开放状态调整为禁止访问状态,以使后续执行该目标智能合约的交易业务禁止执行,提高对智能合约的访问权限开放状态的调整效率,从而可以避免用户损失。
在一些实施例中,为了保证目标智能合约的正常使用,该方法还可以包括以下步骤:
接收用户通过区块链平台触发对目标智能合约的更新指令;
响应更新指令对目标智能合约进行更新操作;
将更新后的目标智能合约部署在所述区块链平台。
其中,更新指令指示对目标智能合约的源程序中的数据进行更新操作。
具体的,用户可以通过区块链平台对目标智能合约进行更新操作,也即更新目标智能合约的源程序中的数据。
进一步的,通过用户对目标智能合约源程序的更新操作触发更新指令,根据该更新指令将目标智能合约中的数据进行更新,将目标智能合约的访问权限开放状态调整为支持访问状态,以使更新后的目标智能合约部署在区块链平台中,保证更新后的目标智能合约在区块链平台中的正常运行。
本申请实施例公开了一种智能合约的处理方法,该方法包括:接收业务请求,业务请求指示基于部署在区块链平台中的智能合约执行交易业务;根据业务请求从区块链平台的智能合约中确定目标智能合约,其中,目标智能合约包括指定程序逻辑,指定程序逻辑用于调整目标智能合约的访问权限开放状态;获取目标智能合约的当前访问权限开放状态;若当前访问权限开放状态为禁止访问状态,则禁止对业务请求进行响应。以此,可以提高区块链平台的资源利用率。
本申请实施例提供另一种智能合约的处理方法,该方法可以由终端或服务器执行,本申请实施例以智能合约的处理方法由服务器执行为例来进行说明。
请参阅图3,图3为本申请实施例提供的另一种智能合约的处理方法的流程示意图。该智能合约的处理方法的具体流程可以如下:
201、接收业务请求。
其中,业务请求指示基于部署在区块链平台中的智能合约执行交易业务。
202、根据业务请求从所述区块链平台的智能合约中确定目标智能合约。
其中,该业务请求中携带有智能合约标识,根据业务请求中携带的智能合约标识,从部署在区块链平台中的多个智能合约中确定执行交易业务的目标智能合约。
本申请实施例中,用户在通过编程应用编写区块链平台的系统源程序时,可以在系统源程序中添加指定程序逻辑,该指定程序逻辑用于调整智能合约的访问权限开放状态。
具体的,可以为部署在区块链平台中的每一智能合约设置一个指定程序逻辑,用于调整每一智能合约的访问权限开放状态。其中,通过指定程序逻辑用于调整智能合约的访问权限开放状态参见上述实施例,在此不多做赘述。
例如,区块链平台中可以包括:智能合约A、智能合约B和智能合约C等,通过在区块链平台中设置第一指定程序逻辑、第二指定程序逻辑以及第三指定程序逻辑。其中,第一指定程序逻辑、第二指定程序逻辑以及第三指定程序逻辑可以为:setContractStatus(boolstatus)方法,第一指定程序逻辑用于调整智能合约A的访问权限开放状态,第二指定程序逻辑用于调整智能合约B的访问权限开放状态,第三指定程序逻辑用于调整智能合约C的访问权限开放状态。
通过上述方式,将智能合约的访问权限开放状态通过区块链平台进行调整,无需对每一智能合约进行修改操作,方便用户管理智能合约,提高操作效率。
203、获取目标智能合约的当前访问权限开放状态。
具体的,当确定需要执行交易业务的目标智能合约后,从区块链平台的系统源程序中获取该目标智能合约对应的指定程序逻辑中的第一指定参数的参数值,从而可以确定该目标智能合约的当前访问权限开放状态。
例如,目标智能合约可以为部署在区块链平台中的智能合约A,区块链平台中该智能合约A对应的指定程序逻辑为第一指定程序逻辑,获取该第一指定程序逻辑中第一指定参数的参数值可以为:false,则指示该目标智能合约的访问权限开放状态为禁止访问状态,也即当前访问权限开放状态为禁止访问状态。
204、若当前访问权限开放状态为禁止访问状态,则禁止对业务请求进行响应。
当检测到目标智能合约的当前访问权限开放状态为禁止访问状态时,指示目标智能合约无法执行交易业务,则禁止对业务请求进行响应,以节省资源。
本申请实施例公开了一种智能合约的处理方法,该方法包括:接收业务请求,业务请求指示基于部署在区块链平台中的智能合约执行交易业务;根据业务请求从区块链平台的智能合约中确定目标智能合约,其中,区块链平台包括指定程序逻辑,指定程序逻辑用于调整目标智能合约的访问权限开放状态;获取目标智能合约的当前访问权限开放状态;若当前访问权限开放状态为禁止访问状态,则禁止对业务请求进行响应。通过在区块链平台中设计指定程序逻辑,对区块链平台中的智能合约的权限访问开放状态进行调整,将所有智能合约的权限访问开放状态统一进行在区块链平台进行管理,无需对每一智能合约进行操作,从而可以提高对智能合约的管理效率。
根据上述介绍的内容,下面将举例来进一步说明本申请的智能合约的处理方法。请参阅图4,图4为本申请实施例提供的另一种智能合约的处理方法的流程示意图,以该智能合约的处理方法应用于服务器,具体流程可以如下:
301、接收用户对目标智能合约的修改指令,并基于所述修改指令对目标智能合约的合约状态进行调整。
其中,合约状态指示智能合约在区块链平台的访问状态,包括:允许访问或者禁止访问等。允许访问指示可以访问智能合约执行交易业务,禁止访问指示禁止访问智能合约无法执行交易业务。
其中,修改指令指示对目标智能合约中默认方法的参数的参数值进行调整,通过对参数的参数值进行调整,以实现对目标智能合约的合约状态进行设置。
例如,在对目标智能合约进行编写时,可以进行如下设计:
Contract SystemControllContractState{
Mapping<address,bool>contractStateMap;//普通合约地址=>状态的映射
Mapping<address,address>contractAdminMap;//普通合约地址=>管理者的映射
getContractState();//获取普通合约状态
setContractState()onlyNodeMethodCall();//设置普通合约状态,仅由节点默认调用
}
进一步的,为目标智能合约增加默认方法调整目标智能合约的合约状态,具体设计可以如下:
public void checkOnOffLineMethod();//在读取合约代码后,具体执行指令前,判断上下线方法签名
Public void call(Transaction tx);//将call指令提取为方法,可以通过节点调用系统合约
通过上述方式为目标智能合约设置默认方法,通过该默认方法控制目标智能合约的合约状态。
302、当接收到对于目标智能合约执行交易的业务请求时,读取目标智能合约的合约状态。
在本申请实施例中,当区块链平台中接收到针对于目标智能合约的交易业务的业务请求时,会获取目标智能合约的合约状态,通过获取到的目标智能合约的合约状态已确定是否执行交易业务。
例如,接收到针对于目标智能合约的业务请求时,获取到目标智能合约的合约状态可以为禁止访问。
303、判断合约状态是否为预设合约状态。
例如,预设合约状态可以为允许访问,获取到目标智能合约的合约状态可以为允许访问,则可以执行步骤304。
又例如,预设合约状态可以为允许访问,获取到目标智能合约的合约状态可以为禁止访问,则可以执行步骤305。
304、响应业务请求,执行交易。
当目标智能合约的合约状态为允许访问,指示可以访问智能合约执行交易业务,则响应业务请求,执行针对于该目标智能合约的交易业务。
305、结束操作。
当目标智能合约的合约状态为禁止访问,指示禁止访问智能合约无法执行交易业务,则不对业务请求响应,结束当前操作。
本申请实施例公开了一种智能合约的处理方法,该方法包括:接收用户对目标智能合约的修改指令,并基于所述修改指令对目标智能合约的合约状态进行调整;当接收到对于目标智能合约执行交易的业务请求时,读取目标智能合约的合约状态;判断合约状态是否为预设合约状态;若合约状态为预设合约状态,则响应业务请求,执行交易;若合约状态不为预设合约状态,则结束操作。以此,可以完善编程语言特性,简化了代码开发。
为便于更好的实施本申请实施例提供的智能合约的处理方法,本申请实施例还提供一种基于上述智能合约的处理方法的智能合约的处理装置。其中名词的含义与上述智能合约的处理方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图5,图5为本申请实施例提供的一种智能合约的处理装置的结构框图,该装置包括:
第一接收单元401,用于接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
第一确定单元402,用于根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述目标智能合约包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态;
第一获取单元403,用于获取所述目标智能合约的当前访问权限开放状态;
第一响应单元404,用于若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应。
在一些实施例中,第一获取单元403可以包括:
获取子单元,用于获取所述指定程序逻辑中第一指定参数的参数值,所述第一指定参数指示所述目标智能合约的访问权限开放状态;
第一确定子单元,用于根据所述第一指定参数的参数值确定所述目标智能合约的当前访问权限开放状态。
在一些实施例中,该装置还可以包括:
第三接收单元,用于接收用户通过所述区块链平台触发对所述目标智能合约的修改指令;
运行单元,用于响应所述修改指令,运行所述指定程序逻辑对所述目标智能合约的访问权限开放状态进行调整。
在一些实施例中,运行单元可以包括:
调整子单元,用于根据所述修改指令对所述指定程序逻辑中第一指定参数的参数值进行调整,并基于调整后的第一指定参数的参数值确定所述智能合约的访问权限开放状态;
第二确定子单元,用于若所述调整后的第一指定参数的参数值为第一参数值,则确定所述智能合约的访问权限开放状态为禁止访问状态;
第三确定子单元,用于若所述调整后的第一指定参数的参数值为第二参数值,则确定所述智能合约的访问权限开放状态为支持访问状态。
在一些实施例中,该装置还可以包括:
第三获取单元,用于当所述目标智能合约的访问权限开放状态为支持访问状态,获取所述目标智能合约中第二指定参数的参数值的变化幅度值,所述第二指定参数指示交易业务的交易额度;
第一切换单元,用于若所述变化幅度值大于预设阈值,则将所述目标智能合约的访问权限开放状态切换为所述禁止访问状态。
在一些实施例中,该装置还可以包括:
第四获取单元,用于当所述目标智能合约的访问权限开放状态为支持访问状态,获取所述目标智能合约中第三指定参数的参数值在预设时间段内的变化频率,所述第三指定参数指示交易业务的交易次数;
第二切换单元,用于若所述变化频率大于预设频率,则将所述目标智能合约的访问权限开放状态切换为所述禁止访问状态。
在一些实施例中,该装置还可以包括:
生成单元,用于若所述当前访问权限开放状态为禁止访问状态,则生成提示信息,所述提示信息指示禁止访问所述目标智能合约。
在一些实施例中,该装置还可以包括:
第四接收单元,用于接收用户通过所述区块链平台触发对所述目标智能合约的更新指令;
更新单元,用于响应所述更新指令对所述目标智能合约进行更新操作;
部署单元,用于将更新后的所述目标智能合约部署在所述区块链平台。
在一些实施例中,该装置还可以包括:
执行单元,用于若所述当前访问权限开放状态为支持访问状态,则响应所述业务请求,基于所述目标智能合约执行交易业务。
本申请实施例公开了一种智能合约的处理装置,通过第一接收单元401接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;第一确定单元402根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述目标智能合约包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态;第一获取单元403获取所述目标智能合约的当前访问权限开放状态;第一响应单元404若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应。以此,可以提高区块链平台的资源利用率。
请参阅图6,图6为本申请实施例提供的一种智能合约的处理装置的结构框图,该装置包括:
第二接收单元501,用于接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
第二确定单元502,用于根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述区块链平台包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态;
第二获取单元503,用于获取所述目标智能合约的当前访问权限开放状态;
第二响应单元504,用于若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应。
本申请实施例公开了一种智能合约的处理装置,通过第二接收单元501接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;第二确定单元502根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述区块链平台包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态;第二获取单元503获取所述目标智能合约的当前访问权限开放状态;第二响应单元504若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应。以此,可以提高对智能合约的管理效率。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为服务器。如图7所示,图7为本申请实施例提供的计算机设备的结构示意图。该计算机设备600包括有一个或者一个以上处理核心的处理器601、有一个或一个以上计算机可读存储介质的存储器602及存储在存储器602上并可在处理器上运行的计算机程序。其中,处理器601与存储器602电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器601是计算机设备600的控制中心,利用各种接口和线路连接整个计算机设备600的各个部分,通过运行或加载存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备600的各种功能和处理数据,从而对计算机设备600进行整体监控。
在本申请实施例中,计算机设备600中的处理器601会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能:
接收业务请求,业务请求指示基于部署在区块链平台中的智能合约执行交易业务;根据业务请求从区块链平台的智能合约中确定目标智能合约,其中,目标智能合约包括指定程序逻辑,指定程序逻辑用于调整目标智能合约的访问权限开放状态;获取目标智能合约的当前访问权限开放状态;若当前访问权限开放状态为禁止访问状态,则禁止对业务请求进行响应;
或者,
接收业务请求,业务请求指示基于部署在区块链平台中的智能合约执行交易业务;根据业务请求从区块链平台的智能合约中确定目标智能合约,其中,区块链平台包括指定程序逻辑,指定程序逻辑用于调整所述目标智能合约的访问权限开放状态;获取目标智能合约的当前访问权限开放状态;若当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图7所示,计算机设备600还包括:触控显示屏603、射频电路604、音频电路605、输入单元606以及电源607。其中,处理器601分别与触控显示屏603、射频电路604、音频电路605、输入单元606以及电源607电性连接。本领域技术人员可以理解,图7中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏603可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏603可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器601,并能接收处理器601发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器601以确定触摸事件的类型,随后处理器601根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏603而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏603也可以作为输入单元606的一部分实现输入功能。
射频电路604可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路605可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路605可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路605接收后转换为音频数据,再将音频数据输出处理器601处理后,经射频电路604以发送给比如另一计算机设备,或者将音频数据输出至存储器602以便进一步处理。音频电路605还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元606可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源607用于给计算机设备600的各个部件供电。可选的,电源607可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源607还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图7中未示出,计算机设备600还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,接收业务请求,业务请求指示基于部署在区块链平台中的智能合约执行交易业务;根据业务请求从区块链平台的智能合约中确定目标智能合约,其中,目标智能合约包括指定程序逻辑,指定程序逻辑用于调整目标智能合约的访问权限开放状态;获取目标智能合约的当前访问权限开放状态;若当前访问权限开放状态为禁止访问状态,则禁止对业务请求进行响应。
或者,
本实施例提供的计算机设备,接收业务请求,业务请求指示基于部署在区块链平台中的智能合约执行交易业务;根据业务请求从区块链平台的智能合约中确定目标智能合约,其中,区块链平台包括指定程序逻辑,指定程序逻辑用于调整所述目标智能合约的访问权限开放状态;获取目标智能合约的当前访问权限开放状态;若当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种智能合约的处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
接收业务请求,业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
根据业务请求从区块链平台的智能合约中确定目标智能合约,其中,目标智能合约包括指定程序逻辑,指定程序逻辑用于调整目标智能合约的访问权限开放状态;
获取目标智能合约的当前访问权限开放状态;
若当前访问权限开放状态为禁止访问状态,则禁止对业务请求进行响应。
或者,
接收业务请求,业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
根据业务请求从区块链平台的智能合约中确定目标智能合约,其中,区块链平台包括指定程序逻辑,指定程序逻辑用于调整所述目标智能合约的访问权限开放状态;
获取目标智能合约的当前访问权限开放状态;
若当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种智能合约的处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种智能合约的处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种智能合约的处理方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种智能合约的处理方法,其特征在于,包括:
接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述目标智能合约包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态,所述访问权限开放状态包括禁止访问状态与支持访问状态;
获取所述目标智能合约的当前访问权限开放状态;
若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应;
若所述当前访问权限开放状态为支持访问状态,则在基于所述目标智能合约执行交易业务的过程中,检测所述目标智能合约的交易额度,若所述交易额度超出预设额度范围,则将所述目标智能合约的访问权限开放状态调整为禁止访问状态。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标智能合约的当前访问权限开放状态,包括:
获取所述指定程序逻辑中第一指定参数的参数值,所述第一指定参数指示所述目标智能合约的访问权限开放状态;
根据所述第一指定参数的参数值确定所述目标智能合约的当前访问权限开放状态。
3.根据权利要求1所述的方法,其特征在于,还包括:
接收用户通过所述区块链平台触发对所述目标智能合约的修改指令;
响应所述修改指令,运行所述指定程序逻辑对所述目标智能合约的访问权限开放状态进行调整。
4.根据权利要求3所述的方法,其特征在于,所述响应所述修改指令,运行所述指定程序逻辑对所述目标智能合约的访问权限开放状态进行调整,包括:
根据所述修改指令对所述指定程序逻辑中第一指定参数的参数值进行调整,并基于调整后的第一指定参数的参数值确定所述智能合约的访问权限开放状态;
若所述调整后的第一指定参数的参数值为第一参数值,则确定所述智能合约的访问权限开放状态为禁止访问状态;
若所述调整后的第一指定参数的参数值为第二参数值,则确定所述智能合约的访问权限开放状态为支持访问状态。
5.根据权利要求1所述的方法,其特征在于,还包括:
当所述目标智能合约的访问权限开放状态为支持访问状态,获取所述目标智能合约中第二指定参数的参数值的变化幅度值,所述第二指定参数指示交易业务的交易额度;
若所述变化幅度值大于预设阈值,则将所述目标智能合约的访问权限开放状态切换为所述禁止访问状态。
6.根据权利要求1所述的方法,其特征在于,还包括:
当所述目标智能合约的访问权限开放状态为支持访问状态,获取所述目标智能合约中第三指定参数的参数值在预设时间段内的变化频率,所述第三指定参数指示交易业务的交易次数;
若所述变化频率大于预设频率,则将所述目标智能合约的访问权限开放状态切换为所述禁止访问状态。
7.根据权利要求1所述的方法,其特征在于,还包括:
若所述当前访问权限开放状态为禁止访问状态,则生成提示信息,所述提示信息指示禁止访问所述目标智能合约。
8.根据权利要求1所述的方法,其特征在于,还包括:
接收用户通过所述区块链平台触发对所述目标智能合约的更新指令;
响应所述更新指令对所述目标智能合约进行更新操作;
将更新后的所述目标智能合约部署在所述区块链平台。
9.一种智能合约的处理方法,其特征在于,包括:
接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述区块链平台包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态,所述访问权限开放状态包括禁止访问状态与支持访问状态;
获取所述目标智能合约的当前访问权限开放状态;
若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应;
若所述当前访问权限开放状态为支持访问状态,则在基于所述目标智能合约执行交易业务的过程中,检测所述目标智能合约的交易额度,若所述交易额度超出预设额度范围,则将所述目标智能合约的访问权限开放状态调整为禁止访问状态。
10.一种智能合约的处理装置,其特征在于,所述装置包括:
第一接收单元,用于接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
第一确定单元,用于根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述目标智能合约包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态,所述访问权限开放状态包括禁止访问状态与支持访问状态;
第一获取单元,用于获取所述目标智能合约的当前访问权限开放状态;
第一响应单元,用于若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应;若所述当前访问权限开放状态为支持访问状态,则在基于所述目标智能合约执行交易业务的过程中,检测所述目标智能合约的交易额度,若所述交易额度超出预设额度范围,则将所述目标智能合约的访问权限开放状态调整为禁止访问状态。
11.一种智能合约的处理装置,其特征在于,所述装置包括:
第二接收单元,用于接收业务请求,所述业务请求指示基于部署在区块链平台中的智能合约执行交易业务;
第二确定单元,用于根据所述业务请求从所述区块链平台的智能合约中确定目标智能合约,其中,所述区块链平台包括指定程序逻辑,所述指定程序逻辑用于调整所述目标智能合约的访问权限开放状态,所述访问权限开放状态包括禁止访问状态与支持访问状态;
第二获取单元,用于获取所述目标智能合约的当前访问权限开放状态;
第二响应单元,用于若所述当前访问权限开放状态为禁止访问状态,则禁止对所述业务请求进行响应;若所述当前访问权限开放状态为支持访问状态,则在基于所述目标智能合约执行交易业务的过程中,检测所述目标智能合约的交易额度,若所述交易额度超出预设额度范围,则将所述目标智能合约的访问权限开放状态调整为禁止访问状态。
12.一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至9任一项所述的智能合约的处理方法。
13.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至9任一项所述的智能合约的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649601.5A CN113360883B (zh) | 2021-06-10 | 2021-06-10 | 一种智能合约的处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649601.5A CN113360883B (zh) | 2021-06-10 | 2021-06-10 | 一种智能合约的处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360883A CN113360883A (zh) | 2021-09-07 |
CN113360883B true CN113360883B (zh) | 2023-07-11 |
Family
ID=77533693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110649601.5A Active CN113360883B (zh) | 2021-06-10 | 2021-06-10 | 一种智能合约的处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360883B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874741A (zh) * | 2019-10-10 | 2020-03-10 | 北京海益同展信息科技有限公司 | 一种合约管理方法、区块链系统及存储介质 |
WO2020125233A1 (zh) * | 2018-12-20 | 2020-06-25 | 阿里巴巴集团控股有限公司 | 字段更新方法及装置、电子设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273759B (zh) * | 2017-05-08 | 2020-07-14 | 上海点融信息科技有限责任公司 | 用于保护区块链数据的方法、设备以及计算机可读存储介质 |
US10452776B2 (en) * | 2017-07-28 | 2019-10-22 | International Business Machines Corporation | Cognitive mediator for generating blockchain smart contracts |
CN109240900A (zh) * | 2018-08-16 | 2019-01-18 | 北京京东尚科信息技术有限公司 | 区块链网络服务平台及其智能合约检测方法、存储介质 |
CN109522729B (zh) * | 2018-11-02 | 2020-12-11 | 中链科技有限公司 | 智能合约状态变更方法及装置 |
CN110032883B (zh) * | 2019-01-31 | 2020-05-29 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、系统和节点 |
CN110610423B (zh) * | 2019-09-09 | 2023-02-10 | 杭州秘猿科技有限公司 | 区块链智能合约平台支持有状态和无状态合约的处理方法 |
CN110908786A (zh) * | 2019-11-19 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 一种智能合约调用方法、装置及介质 |
CN111464589A (zh) * | 2020-03-03 | 2020-07-28 | 深圳壹账通智能科技有限公司 | 智能合约处理方法、计算机设备及存储介质 |
CN111310233A (zh) * | 2020-03-24 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 应用界面显示方法、装置、设备以及存储介质 |
SG11202102366SA (en) * | 2020-06-08 | 2021-04-29 | Alipay Labs Singapore Pte Ltd | User management of blockchain-based custom clearance service platform |
CN112686671B (zh) * | 2021-01-07 | 2022-07-12 | 腾讯科技(深圳)有限公司 | 基于区块链的智能合约部署方法、装置、设备以及介质 |
-
2021
- 2021-06-10 CN CN202110649601.5A patent/CN113360883B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020125233A1 (zh) * | 2018-12-20 | 2020-06-25 | 阿里巴巴集团控股有限公司 | 字段更新方法及装置、电子设备 |
CN110874741A (zh) * | 2019-10-10 | 2020-03-10 | 北京海益同展信息科技有限公司 | 一种合约管理方法、区块链系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113360883A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11095967B2 (en) | Wireless audio output devices | |
EP3852335B1 (en) | Method and system for modifying blockchain network configuration | |
US20080141350A1 (en) | Authentication for computer system management | |
CN111340482B (zh) | 冲突检测方法、装置、节点设备及存储介质 | |
CN108696514A (zh) | 资源收集任务管理方法、装置、存储介质及系统 | |
CN113438219B (zh) | 一种基于区块链一体机的重放交易识别方法及装置 | |
CN110601858B (zh) | 证书管理方法及装置 | |
US20110295922A1 (en) | Aspect oriented programming for an enterprise service bus | |
CN113506100B (zh) | 联盟链数据处理方法、装置、计算机设备及存储介质 | |
CN113360883B (zh) | 一种智能合约的处理方法、装置、计算机设备及存储介质 | |
CN113746640B (zh) | 数字凭证使用方法、装置、计算机设备及存储介质 | |
JP7273241B2 (ja) | インテリジェント契約実行方法および装置 | |
CN113890753A (zh) | 数字身份管理方法、装置、系统、计算机设备和存储介质 | |
CN111476562A (zh) | 一种虚拟资源转移方法、装置、电子设备以及存储介质 | |
CN114422535B (zh) | 区块链中部署合约的方法、装置、计算机设备及存储介质 | |
CN113806801B (zh) | 交易信息上链方法、装置、计算机设备及存储介质 | |
KR20210049438A (ko) | 탈중앙화 네트워크를 이용하여 기능 실행을 제어하는 전자 장치 및 이의 동작 방법 | |
CN116308786A (zh) | 区块链交易的处理方法、系统、电子设备和可读存储介质 | |
CN116307343A (zh) | 一种用户资产管理方法、装置、计算机设备及存储介质 | |
TW201944330A (zh) | 可監管且總量可控的數位貨幣發行系統及其方法 | |
CN116756400A (zh) | 区块链的资产查询方法、装置、计算机设备及存储介质 | |
US11662973B2 (en) | Systems and methods for orchestrated audio session management for modern workspaces | |
CN116384998A (zh) | Did合约管理方法、装置、电子设备和可读存储介质 | |
CN115022053A (zh) | 访问区块链网络的方法、装置和系统 | |
CN116468442A (zh) | 虚拟资源转移方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |