CN113327108B - 一种交易处理方法、相关设备及计算机可存储介质 - Google Patents
一种交易处理方法、相关设备及计算机可存储介质 Download PDFInfo
- Publication number
- CN113327108B CN113327108B CN202010127958.2A CN202010127958A CN113327108B CN 113327108 B CN113327108 B CN 113327108B CN 202010127958 A CN202010127958 A CN 202010127958A CN 113327108 B CN113327108 B CN 113327108B
- Authority
- CN
- China
- Prior art keywords
- dapp
- target
- list
- intelligent contract
- blockchain
- 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
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例公开了一种交易处理方法、相关设备及计算机可存储介质,其中,该方法包括:区块链节点获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据,还获取所述智能合约绑定的DApp列表,所述DApp列表包括至少一个DApp的标识,并查询所述DApp列表中是否包括所述目标DApp的标识,若所述DApp列表中包括所述目标DApp的标识,则确定所述目标DApp具有所述智能合约的使用权限,并调用所述智能合约对所述交易数据进行处理,通过将智能合约与DApp进行绑定,可以对智能合约的使用进行有效控制,从而保证智能合约的开发者的利益。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种交易处理方法、相关设备及计算机可存储介质。
背景技术
在区块链技术日渐火热的时期,区块链会越来越适应于各种商业场景,能够改变或颠覆越来越多的行业,其中,就有一个比较火热—去中心化应用(DecentralizedApplication,DApp)。一个DApp想要访问区块链,在目前的实现方式中,需要一个介质—智能合约,也就是说,通常情况下一个DApp是通过智能合约访问区块链的,然而,由于DApp的数量以及开发者众多,随意通过别人开发的智能合约访问区块链很容易伤害合约开发者的利益,因此,如何对智能合约进行有效调控已成为了一个热点问题。
发明内容
本申请实施例提供一种交易处理方法、相关设备及计算机可存储介质,通过将智能合约与DApp进行绑定,可以对智能合约的使用进行有效控制,从而保证智能合约的开发者的利益。
第一方面,本发明实施例提供了一种交易处理方法,应用于区块链网络的节点,所述节点上部署有智能合约,所述方法包括:
获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据;
获取所述智能合约绑定的DApp列表,所述DApp列表包括至少一个DApp的标识;
查询所述DApp列表中是否包括所述目标DApp的标识;
若所述DApp列表中包括所述目标DApp的标识,则确定所述目标DApp具有所述智能合约的使用权限,并调用所述智能合约对所述交易数据进行处理。
第二方面,本发明实施例提供了一种区块链节点装置,所述装置包括:
获取模块,用于获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据;
所述获取模块,还用于获取所述智能合约绑定的DApp列表,所述DApp列表包括至少一个DApp的标识;
查询模块,用于查询所述DApp列表中是否包括所述目标DApp的标识;
确定模块,用于若所述DApp列表中包括所述目标DApp的标识,则确定所述目标DApp具有所述智能合约的使用权限;
调用模块,用于调用所述智能合约对所述交易数据进行处理。
第三方面,本发明实施例提供了一种交易处理设备,存储器以及处理器,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中的所述计算机程序,用于执行第一方面所述交易处理的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行第一方面所述交易处理的方法。
本发明实施例中,区块链节点获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据,还获取所述智能合约绑定的DApp列表,所述DApp列表包括至少一个DApp的标识,并查询所述DApp列表中是否包括所述目标DApp的标识,若所述DApp列表中包括所述目标DApp的标识,则确定所述目标DApp具有所述智能合约的使用权限,并调用所述智能合约对所述交易数据进行处理,通过将智能合约与DApp进行绑定,可以对智能合约的使用进行有效控制,从而保证智能合约的开发者的利益。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种交易处理系统的架构示意图;
图1b是本发明实施例提供的一种区块链的结构示意图;
图1c是本发明实施例提供的一种产生新区块的过程示意图;
图2是本发明实施例提供的一种交易处理方法的流程示意图;
图3是本发明实施例提供的另一种交易处理方法的流程示意图;
图4是本发明实施例提供的一种区块链节点装置的结构示意图;
图5是本发明实施例提供的一种交易处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1a,是本发明实施例提供的一种交易处理系统的架构示意图,该交易处理系统包括区块链网络10、终端设备102,其中:
区块链网络10是指用于进行节点与节点之间数据共享的网络,区块链网络中可以包括多个节点101。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护区块链网络内的共享数据(即区块链)。为了保证区块链网络内的信息互通,每个节点之间可以存在信息连接,任意两个节点之间可以实现点对点(Peer To Peer,P2P)通信,具体可以通过有线通信链路或无线通信链路进行P2P通信。例如,当区块链网络中的任意节点接收到输入信息时,其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
终端设备102可以接入该区块链网络,并可以与区块链网络中的节点进行通信,例如,向节点发起业务请求,从节点获取数据,等等。其中,终端设备102具体可以是智能手机、平板电脑、笔记本电脑、台式电脑、车载智能终端等,本发明实施例不做限定。
需要说明的是,图1a中所示的节点的数目仅仅是示意性的,根据实际需要,可以部署任意数目的节点,终端设备102可以与区块链网络中的同一节点进行通信,也可以分别与区块链网络中的不同节点进行通信。
其中,对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有区块链网络中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链网络中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为互联网协议(Internet Protocol,IP)地址以及其他任一种能够用于标识该节点的信息,表中仅以IP地址为例进行说明。
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点N | 119.123.789.258 |
其中,区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1b,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
其中,在生成区块链中的各个区块时,参见图1c,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据区块链网络中其他节点的节点标识,将新生成的区块分别发送给其所在的区块链网络中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
其中,区块链网络的节点上可以运行智能合约,智能合约是用于在满足一定条件时而执行的代码实现,开发人员可以通过编程语言定义合约逻辑,发布到区块链上(智能合约注册),根据合约条款的逻辑,调用密钥或者其他的事件触发执行,完成合约逻辑,同时还提供对智能合约升级、注销的功能。
在一种可能的实现方式中,区块链节点101获取用户通过终端设备102上的目标去中心化应用DApp提交的交易数据,还获取智能合约绑定的DApp列表,所述DApp列表包括至少一个DApp的标识,并查询DApp列表中是否包括目标DApp的标识,若DApp列表中包括目标DApp的标识,则确定目标DApp具有智能合约的使用权限,并调用智能合约对交易数据进行处理,通过将智能合约与DApp进行绑定,可以对智能合约的使用进行有效控制,从而保证智能合约的开发者的利益。
图2是本发明实施例中一种交易处理方法的流程示意图。如图2所示,本实施例中的交易处理方法的流程可以包括:
S201、区块链节点获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据。
在区块链网络中,区块链节点获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据,用户是根据自己的需求在终端设备的目标DApp向区块链节点提交数据,这些数据想要上链,就需要智能合约的协调配合,也就是说,交易数据在经用户提交后,需要启动智能合约,在本发明中,还需要满足一定的条件才能上链。其中,该交易数据中还包括了DApp的标识,这里的标识同样可以用来寻找目标DApp。
S202、区块链节点获取智能合约绑定的DApp列表,该DApp列表包括至少一个DApp的标识。
区块链节点获取智能合约绑定的DApp列表,该DApp列表是区块链节点从区块链上获取的(在获取该DApp列表之前,该列表已经上传到链上了),该DApp列表包括至少一个DApp的标识,也就是说,DApp列表中可能不止一个DApp,可能有两个DApp,甚至更多的DApp,这样也是为了保证DApp在智能合约的资源的充分利用,通常情况下,一个DApp和智能合约是一对一到的关系,如果在本发明中,只是强调一个DApp,那么就不能充分利用已经部署在区块链中的智能合约。
在一种可能的实现方式中,想要获取DApp的列表,那么便需要了解DApp的列表的生成的过程,在这个过程中,区块链节点接收智能合约的配置参数,该智能合约被编译后已经被部署在区块链网络中的各个节点了,这里的配置参数包括至少一个DApp的标识,再根据配置参数中的至少一个DApp的标识生成与上述智能合约所绑定的DApp的列表,当该DApp的列表生成后,区块链节点还需要将与该智能合约绑定的DApp列表写入区块链中,把与该智能合约所绑定的DApp列表写入到区块链中的目的是为了区块链节点查询所要找的目标DApp。
在一种可能的实现方式中,区块链节点在将与该智能合约绑定的DApp列表写入区块链中之前,该区块链节点还需要向区块链网络的其他节点广播与该智能合约绑定的DApp列表,告知全网存在这样一个DApp列表,区块链网络的其他节点对还需要对该与智能合约绑定的DApp列表进行共识验证,也就是验证该DApp列表是否是带有上一个节点标识,若验证通过,才执行将该智能合约绑定的DApp列表进行写入到区块链中的操作。
S203、区块链节点查询DApp列表中是否包括目标DApp的标识。
区块链节点从交易数据中获取目标DApp的标识后,查询DApp列表中是否具有与交易数据携带的相同的标识,这便是通过标识对目标DApp进行查找。
在步骤S202中,已经提及区块链节点获取的是一个DApp的列表,该DApp的列表中可能包含不止一个DApp,其中不仅包括了所要查询的目标DApp,可能还包括了同样符合访问上述智能合约的一些DApp,该步骤的目的就是为了通过目标DApp的标识寻找出目标DApp,以保证开发者的利益。
其中,需要注意的是,至少一个DApp包括所述智能合约的开发者所开发的DApp和所述开发者授权的DApp中的一种或两种,具体来说就是,至少一个DApp可以是开发智能合约的开发者所开发的DApp,也可以是开发智能合约的开发者授权的DApp,对于满足上述条件之一的DApp都是可以的。
S204、若DApp列表中包括目标DApp的标识,则确定该目标DApp具有智能合约的使用权限,并调用智能合约对交易数据进行处理。
在上述步骤中,若是通过查询后,发现DApp列表中包括目标DApp的标识,那么就能确定出目标DApp,在这种情况下,就能确定出该目标DApp具有使用智能合约的使用权限,拥有使用权限后便能调用智能合约对上述的通过目标DApp发送的交易数据进行相关处理,这里的相关处理可以是多交易数据进行记录等。
本发明实施例中,区块链节点获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据,还获取所述智能合约绑定的DApp列表,所述DApp列表包括至少一个DApp的标识,并查询所述DApp列表中是否包括所述目标DApp的标识,若所述DApp列表中包括所述目标DApp的标识,则确定所述目标DApp具有所述智能合约的使用权限,并调用所述智能合约对所述交易数据进行处理,通过将智能合约与DApp进行绑定,可以对智能合约的使用进行有效控制,从而保证智能合约的开发者的利益。
图3是本发明实施例中另一交易处理的方法的流程示意图。如图所示本实施例中的交易处理的方法的流程可以包括:
S301、区块链节点获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据。
该步骤与上述S201步骤一致,这里就不再赘述。
S302、区块链节点获取智能合约绑定的DApp列表,该DApp列表包括至少一个DApp的标识。
获取智能合约绑定的DApp列表步骤与上述S202步骤一致,此处便不再一一赘述。
S303、区块链节点对用户账户的签名信息和目标DApp的签名信息进行校验。
在该步骤中,在交易数据中不止包括了用户账户的签名信息以及目标DApp的签名信息,这些信息都在获取交易数据时一同被获取了,对用户账户的签名信息以及目标DApp的签名信息进行验证也是为了进一步确定目标DApp以及确定的用户账户。
对用户账户的签名信息以及目标DApp的签名信息具体步骤是:
区块链节点从区块链的链上获取到用户账户的公钥,以及目标DApp的公钥,通常情况下,这两者的公钥都是在区块链链上公布的,或者这两者的公钥由区块链网络中的某个证书机构所记录着,想要获取时发送相应的获取请求后便可以了。当区块链节点获取了用户账户的公钥和目标DApp的公钥后,分别进行如下操作:区块链节点通过用户账户的公钥对用户账户账户的签名的进行验证,若是得到的结果是该用户账户的签名确实是来自通过特定的用户账户,便确定验证通过;区块链节点通过目标DAPP的公钥对目标DApp的签名进行验证,若是得到的结果是该目标DApp的签名确实是来自目标DApp,便便确定验证通过,上述的特定的账户用户指的是通过目标DApp发送交易数据的用户账户。
S304、若验证通过,区块链节点查询DApp列表中是否包括目标DApp的标识。
在实施例一中已经提及区块链节点获取的是一个DApp的列表,该DApp的列表中可能包含不止一个DApp,其中不仅包括了所要查询的目标DApp,可能还包括了同样符合访问上述智能合约的一些DApp,因此区块链节点还需要进一步通过标识来确定目标DApp,具体步骤和步骤S203一致。
其中,需要注意的是,对于步骤S303和步骤S304没有确定的顺序,在实际的操作中,可以先查询DApp列表中是否包括目标DApp的标识再对用户账户的签名信息和目标DApp的签名信息进行校验,也可以是先对用户账户的签名信息和目标DApp的签名信息进行校验再查询DApp列表中是否包括目标DApp的标识,其目的都是通过多层校验以避免其他开发者对开发智能合约的开发者的利益进行侵犯。
S305、若DApp列表中包括目标DApp的标识,则确定该目标DApp具有智能合约的使用权限,并调用智能合约对交易数据进行处理。
该步骤与上述S204步骤一致,这里就不再赘述。
S306、区块链节点检测是否有针对交易数据的上链费用。
值得注意的是,这里的上链费用相当于我们在进行转账时的手续费,在本发明具体可以体现为用户通过终端设备缴的手续费或者相应的奖励。具体来说,是区块链中的记账节点来检测是否存在这样一笔上链费用的交易记录,该笔上链费用交易是和上述的交易数据一同产生的,同样的经过用户发起,并到达区块链的记账节点,让全网都能检测这样一笔上链费用。
S307、若区块链节点检测到有上链费用,则对交易数据进行上链。
当区块链节点检测到有上链费用,对交易数据进行上链,也就是该区块链节点将该交易数据广播给区块链网络中的其他节点,其他节点对该交易数据进行共识验证,确认该交易数据的可靠性,若是共识验证通过,就将该交易数据进行上链。
举例说明本发明的一种类似情况,就比如说某个用户需要通过A在B上买东西,首先,需要确认的是A是与B有一定关系的,只有用户通过A发起的交易,才能被B认可并通知给后台服务器生成订单信息,同时,还需要确认用户是通过A进行了付款B才会发货,不然这个订单是不能发货的,这是一个比较通俗易懂的,只是本发明用在了区块链中的DApp和智能合约上,其思想是和本例子相似的。
本发明实施例中,区块链节点获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据,还获取所述智能合约绑定的DApp列表,所述DApp列表包括至少一个DApp的标识,并查询所述DApp列表中是否包括所述目标DApp的标识,并对用户账户的签名信息和目标DApp的签名信息进行验证,若所述DApp列表中包括所述目标DApp的标识,签名验证也通过,则确定所述目标DApp具有所述智能合约的使用权限,并调用所述智能合约对所述交易数据进行处理,此后,区块链节点检测是否收到针对交易数据的上链费用,若有对该交易数据进行上链,通过将智能合约与DApp进行绑定,可以对智能合约的使用进行有效控制,从而保证智能合约的开发者的利益。
请参见图4,图4是本发明实施例公开的一种区块链节点装置的结构示意图,该区块链节点装置可包括:
获取模块401,用于获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据;
所述获取模块401,还用于获取所述智能合约绑定的DApp列表,所述DApp列表包括至少一个DApp的标识;
查询模块402,用于查询所述DApp列表中是否包括所述目标DApp的标识;
确定模块403,用于若所述DApp列表中包括所述目标DApp的标识,则确定所述目标DApp具有所述智能合约的使用权限;
处理模块404,用于调用所述智能合约对所述交易数据进行处理。
在一种可能的实现方式中,校验模块405,用于对所述用户账户的签名信息和所述目标DApp的签名信息进行校验;
所述处理模块404,用于若均校验通过,则执行所述查询所述DApp列表中是否包括所述目标DApp的标识的步骤。
在一种可能的实现方式中,获取模块401,用于获取所述用户账户的公钥和所述目标DApp的公钥;
校验模块405,用于利用所述用户账户的公钥对所述用户账户的签名信息进行校验,以及利用所述目标DApp的公钥对所述目标DApp的签名信息进行校验。
在一种可能的实现方式中,接收模块406,用于接收所述智能合约的配置参数,包括至少一个DApp的标识;
所述处理模块404,还用于根据所述至少一个Dapp标识生成所述智能合约绑定的DApp列表;
所述处理模块404,还用于将所述智能合约绑定的DApp列表写入区块链中。
在一种可能的实现方式中,发送模块407,用于向所述区块链网络的其他节点广播所述智能合约绑定的DApp列表;
所述处理模块404,还用于在所述其他节点对所述智能合约绑定的DApp列表共识验证通过的情况下,将所述智能合约绑定的DApp列表写入区块链中。
在一种可能的实现方式中,查询模块402,用于检测是否收到针对所述交易数据的上链费用;
所述处理模块404,还用于若收到所述上链费用,则将所述交易数据写入区块链中。
在一种可能的实现方式中,所述至少一个DApp包括所述智能合约的开发者所开发的DApp和所述开发者授权的DApp中的一种或两种。
本发明实施例中,区块链节点通过获取模块401获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据,还通过获取模块401获取所述智能合约绑定的DApp列表,所述DApp列表包括至少一个DApp的标识,查询模块401查询所述DApp列表中是否包括所述目标DApp的标识,校验模块405对用户账户的签名信息和目标DApp的签名信息进行验证,若所述DApp列表中包括所述目标DApp的标识,签名验证也通过,则确定模块403确定所述目标DApp具有所述智能合约的使用权限,并调用所述智能合约对所述交易数据进行处理,此后,区块链节点通过查询模块405检测是否收到针对交易数据的上链费用,若有处理模块404对该交易数据进行上链,通过将智能合约与DApp进行绑定,可以对智能合约的使用进行有效控制,从而保证智能合约的开发者的利益。
请参见图5,图5是本发明实施例提供的一种交易处理设备的结构示意图,该交易处理设备可包括处理器501和存储器502,所述处理器501和存储器502之间可以交互数据。
所述存储器502可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器502也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储器502还可以包括上述种类的存储器的组合。
所述处理器501可以是中央处理器501(central processing unit,CPU)。在一个实施例中,所述处理器501还可以是图形处理器501(Graphics Processing Unit,GPU)。所述处理器501也可以是由CPU和GPU的组合。在所述电子设备中,可以根据需要包括多个CPU和GPU进行相应的根证书管理。在一个实施例中,所述存储装置502用于存储程序指令。所述处理器501可以调用所述程序指令,实现如本发明实施例中上述涉及的各种方法。
在一种可能的实现方式中,所述处理器501,用于获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据;
获取所述智能合约绑定的DApp列表,所述DApp列表包括至少一个DApp的标识;
查询所述DApp列表中是否包括所述目标DApp的标识;
若所述DApp列表中包括所述目标DApp的标识,则确定所述目标DApp具有所述智能合约的使用权限,并调用所述智能合约对所述交易数据进行处理。
在一种可能的实现方式中,所述处理器501,还用于对所述用户账户的签名信息和所述目标DApp的签名信息进行校验;
若均校验通过,则执行所述查询所述DApp列表中是否包括所述目标DApp的标识的步骤。
在一种可能的实现方式中,所述处理器501,用于获取所述用户账户的公钥和所述目标DApp的公钥;
利用所述用户账户的公钥对所述用户账户的签名信息进行校验,以及利用所述目标DApp的公钥对所述目标DApp的签名信息进行校验。
在一种可能的实现方式中,所述处理器501,还用于接收所述智能合约的配置参数,包括至少一个DApp的标识;
根据所述至少一个Dapp标识生成所述智能合约绑定的DApp列表;
将所述智能合约绑定的DApp列表写入区块链中。
在一种可能的实现方式中,所述处理器501,用于向所述区块链网络的其他节点广播所述智能合约绑定的DApp列表;
在所述其他节点对所述智能合约绑定的DApp列表共识验证通过的情况下,将所述智能合约绑定的DApp列表写入区块链中。
在一种可能的实现方式中,所述处理器501,还用于检测是否收到针对所述交易数据的上链费用;
若收到所述上链费用,则将所述交易数据写入区块链中。
在一种可能的实现方式中,所述至少一个DApp包括所述智能合约的开发者所开发的DApp和所述开发者授权的DApp中的一种或两种。
本发明实施例中,处理器501获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据,还获取所述智能合约绑定的DApp列表,所述DApp列表包括至少一个DApp的标识,并查询所述DApp列表中是否包括所述目标DApp的标识,若所述DApp列表中包括所述目标DApp的标识,则确定所述目标DApp具有所述智能合约的使用权限,并调用所述智能合约对所述交易数据进行处理,通过将智能合约与DApp进行绑定,可以对智能合约的使用进行有效控制,从而保证智能合约的开发者的利益。
本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述实施例中描述的相应方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(英文:Read-Only Memory,缩写:ROM)或者随机存取存储器(英文:Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种交易处理方法,其特征在于,应用于区块链网络的节点,所述节点上部署有智能合约,所述方法包括:
接收所述智能合约的配置参数,所述配置参数包括至少一个DApp的标识,所述至少一个DApp包括所述智能合约的开发者所开发的DApp和所述开发者授权的DApp中的一种或两种;
根据所述至少一个DApp的标识生成所述智能合约绑定的DApp列表,并将所述智能合约绑定的DApp列表写入区块链中,所述DApp列表包括所述至少一个DApp的标识;
获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据,所述交易数据包括所述用户的用户账户的签名信息和目标DApp的签名信息;
获取所述智能合约绑定的DApp列表;
从所述区块链网络中的证书机构获取所述用户账户的公钥和所述目标DApp的公钥;
利用所述用户账户的公钥对所述用户账户的签名信息进行校验,以及利用所述目标DApp的公钥对所述目标DApp的签名信息进行校验;
若均校验通过,则查询所述DApp列表中是否包括所述目标DApp的标识;
若所述DApp列表中包括所述目标DApp的标识,则确定所述目标DApp具有所述智能合约的使用权限,并调用所述智能合约对所述交易数据进行处理;
检测是否收到针对所述交易数据的上链费用;若收到所述上链费用,则将所述交易数据写入区块链中。
2.根据权利要求1所述的方法,其特征在于,所述将所述智能合约绑定的DApp列表写入区块链中,包括:
向所述区块链网络的其他节点广播所述智能合约绑定的DApp列表;
在所述其他节点对所述智能合约绑定的DApp列表共识验证通过的情况下,将所述智能合约绑定的DApp列表写入区块链中。
3.一种交易处理装置,其特征在于,应用于区块链网络,所述区块链网络包括多个节点,所述装置包括:
接收模块,用于接收智能合约的配置参数,所述配置参数包括至少一个DApp的标识,所述至少一个DApp包括所述智能合约的开发者所开发的DApp和所述开发者授权的DApp中的一种或两种;
处理模块,用于根据所述至少一个DApp的标识生成所述智能合约绑定的DApp列表,并将所述智能合约绑定的DApp列表写入区块链中,所述DApp列表包括所述至少一个DApp的标识;
获取模块,用于获取用户通过终端设备上的目标去中心化应用DApp提交的交易数据,所述交易数据包括所述用户的用户账户的签名信息和目标DApp的签名信息;
所述获取模块,还用于获取所述智能合约绑定的DApp列表;
查询模块,用于从所述区块链网络中的证书机构获取所述用户账户的公钥和所述目标DApp的公钥;利用所述用户账户的公钥对所述用户账户的签名信息进行校验,以及利用所述目标DApp的公钥对所述目标DApp的签名信息进行校验;若均校验通过,则查询所述DApp列表中是否包括所述目标DApp的标识;
确定模块,用于若所述DApp列表中包括所述目标DApp的标识,则确定所述目标DApp具有所述智能合约的使用权限;
所述处理模块,还用于调用所述智能合约对所述交易数据进行处理;检测是否收到针对所述交易数据的上链费用;若收到所述上链费用,则将所述交易数据写入区块链中。
4.一种交易处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,调用所述存储器中的所述计算机程序,用于执行如权利要求1-2任一项所述的交易处理方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-2任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127958.2A CN113327108B (zh) | 2020-02-28 | 2020-02-28 | 一种交易处理方法、相关设备及计算机可存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127958.2A CN113327108B (zh) | 2020-02-28 | 2020-02-28 | 一种交易处理方法、相关设备及计算机可存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113327108A CN113327108A (zh) | 2021-08-31 |
CN113327108B true CN113327108B (zh) | 2023-07-14 |
Family
ID=77412628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010127958.2A Active CN113327108B (zh) | 2020-02-28 | 2020-02-28 | 一种交易处理方法、相关设备及计算机可存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113327108B (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3034740A1 (en) * | 2016-09-08 | 2018-03-15 | Financial & Risk Organisation Limited | Systems and methods for providing identity assurance for decentralized applications |
CN110288182A (zh) * | 2019-05-15 | 2019-09-27 | 杭州趣链科技有限公司 | 一种基于区块链的Dapp托管管理服务系统 |
-
2020
- 2020-02-28 CN CN202010127958.2A patent/CN113327108B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113327108A (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569251B (zh) | 一种数据处理方法、相关设备及计算机可读存储介质 | |
WO2020258848A1 (zh) | 一种跨链发送资源的方法和装置 | |
CN109426949B (zh) | 一种跨链交易方法及装置 | |
US10073916B2 (en) | Method and system for facilitating terminal identifiers | |
US20210157800A1 (en) | Blockchain-based transaction processing methods, apparatuses, and electronic devices | |
EP3816910B1 (en) | Blockchain-based transaction processing method and apparatus, and electronic device | |
CN110661658B (zh) | 一种区块链网络的节点管理方法、装置及计算机存储介质 | |
US10924281B2 (en) | Method and apparatus for inter-blockchain transmission of authenticable message | |
TW202016789A (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
CN108572986B (zh) | 一种数据更新的方法及节点设备 | |
CN110855777B (zh) | 一种基于区块链的节点管理方法及装置 | |
CN110597918B (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
CN111460458B (zh) | 一种数据处理方法、相关装置及计算机可存储介质 | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN112597485B (zh) | 基于区块链的信息校验方法、装置和设备及存储介质 | |
CN111598575A (zh) | 业务流程控制方法、装置、电子设备和可读存储介质 | |
US20230325833A1 (en) | Blockchain-based data processing method and apparatus, device, storage medium, and program product | |
JP2022525551A (ja) | データレコードのコピーの分散型台帳システムへの誤伝送の防止 | |
CN113468276A (zh) | 链上预言机的可信数据获取方法、装置及电子设备 | |
CN113220475A (zh) | 交易数据处理方法、装置、计算机设备和存储介质 | |
CN113010894A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN113327108B (zh) | 一种交易处理方法、相关设备及计算机可存储介质 | |
CN112732676B (zh) | 基于区块链的数据迁移方法、装置、设备及存储介质 | |
JP7421443B2 (ja) | データ移行方法、データ移行システム、およびノード | |
CN111242778B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40050568 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |