CN112631803A - 区块链的智能合约调用方法、装置、服务器和存储介质 - Google Patents
区块链的智能合约调用方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN112631803A CN112631803A CN202011543148.1A CN202011543148A CN112631803A CN 112631803 A CN112631803 A CN 112631803A CN 202011543148 A CN202011543148 A CN 202011543148A CN 112631803 A CN112631803 A CN 112631803A
- Authority
- CN
- China
- Prior art keywords
- contract
- intelligent contract
- target
- block chain
- information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000006870 function Effects 0.000 claims description 67
- 238000004590 computer program Methods 0.000 claims description 24
- 230000000977 initiatory effect Effects 0.000 claims description 23
- 239000004744 fabric Substances 0.000 claims description 21
- 238000012360 testing method Methods 0.000 claims description 15
- 230000003213 activating effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 21
- 238000005538 encapsulation Methods 0.000 abstract description 12
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 230000006854 communication Effects 0.000 description 5
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及区块链技术领域,尤其涉及一种区块链的智能合约调用方法、装置、服务器和存储介质。本申请预先将各个区块链注册并部署到中间层服务器,为区块链分配对应的链标识,以及将各个智能合约登记到中间层服务器,为智能合约分配对应的合约标识。通过这样设置,当客户端调用智能合约时,只需要发出一个带有链标识和合约标识的智能合约调用请求,中间层服务器在接收到该智能合约调用请求后,会根据该链标识和合约标识向对应的区块链发起对应的智能合约执行请求,获取对应的智能合约执行结果返回给客户端。在上述过程中,中间层服务器无需对不同区块链平台中的每个智能合约进行定制化封装,从而能够降低中间层服务器代码更新和维护的难度。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链的智能合约调用方法、装置、服务器和存储介质。
背景技术
在实际的区块链系统中,底层的区块链平台和客户端之间通常会架设一个中间层服务器,该服务器负责区块链与客户端通讯过程中的数据编/解码,合约函数封装以及客户端向区块链的订阅信息处理等工作。
目前,对于客户端向多个不同区块链平台进行智能合约调用的需求,中间层服务器通常需要针对不同区块链平台中的每个智能合约进行定制化封装,再将封装后的接口提供给客户端调用。这样一来,一旦中间层服务器对接的区块链平台或智能合约较多,则中间层服务器的代码更新和维护操作将变得十分困难。
发明内容
有鉴于此,本申请实施例提供了一种区块链的智能合约调用方法、装置、服务器和存储介质,能够降低中间层服务器代码更新和维护的难度。
本申请实施例的第一方面提供了一种区块链的智能合约调用方法,包括:
接收客户端发送的智能合约调用请求,所述智能合约调用请求包含目标智能合约的合约标识以及所述目标智能合约所处的目标区块链的链标识,其中,所述目标区块链已注册并部署到所述中间层服务器,所述目标智能合约已登记到所述中间层服务器;
根据所述合约标识查找所述目标智能合约的合约信息;
基于所述合约信息和所述链标识,向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果;
将所述目标智能合约的执行结果返回至所述客户端。
本申请实施例预先将各个不同的区块链注册并部署到中间层服务器,为区块链分配对应的链标识,以及将各个智能合约登记到中间层服务器,为智能合约分配对应的合约标识。通过这样设置,当客户端调用智能合约时,只需要发出一个带有链标识和合约标识的智能合约调用请求,中间层服务器在接收到该智能合约调用请求后,会根据该链标识和合约标识向对应的区块链发起对应的智能合约执行请求,获取对应的智能合约执行结果返回给客户端。在上述过程中,中间层服务器无需对不同区块链平台中的每个智能合约进行定制化封装,从而能够降低中间层服务器代码更新和维护的难度。
在本申请的一个实施例中,基于所述合约信息和所述链标识,向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果,可以包括:
激活与所述链标识对应的软件开发工具包;
调用激活后的所述软件开发工具包,以根据所述合约信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
中间层服务器通过该链标识可以确定对应的目标区块链,查找到对应的链信息,从而激活与该链标识对应的软件开发工具包,然后调用激活后的该软件开发工具包,以实现从区块链中调用智能合约的过程,具体操作方式是根据该合约信息向该目标区块链发起智能合约的执行请求,以获取该目标智能合约的执行结果。
进一步的,所述智能合约调用请求还包含所述目标智能合约的属性信息,所述根据所述合约信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果,可以包括:
通过所述合约信息和所述属性信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
业务系统发送的智能合约调用请求中还可以包括该目标智能合约的其它属性信息,例如合约函数名、函数调用参数等信息。在调用目标智能合约时,可以将这部分属性信息和该合约信息结合,提交给对应的目标区块链。
在本申请的一个实施例中,所述目标区块链为以太坊平台的区块链,所述合约信息包括所述目标智能合约的合约地址和接口描述文件,所述属性信息包括所述目标智能合约的合约函数名和函数调用参数,所述通过所述合约信息和所述属性信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果,可以包括:
结合所述合约地址、所述接口描述文件、所述合约函数名和所述函数调用参数向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
对于以太坊平台的区块链,其合约信息包括合约地址和接口描述文件,再结合从业务系统中提交过来的合约函数名和函数调用参数等信息,向区块链发送智能合约执行请求,从而获取对应的智能合约执行结果。
在本申请的一个实施例中,所述目标区块链为fabric平台的区块链,所述合约信息包括所述目标智能合约的合约名称,所述属性信息包括所述目标智能合约的合约函数名和函数调用参数,所述通过所述合约信息和所述属性信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果,可以包括:
结合所述合约名称、所述合约函数名和所述函数调用参数向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
对于fabric平台的区块链,其合约信息包括合约名称,再结合从业务系统中提交过来的合约函数名和函数调用参数等信息,向区块链发送智能合约执行请求,从而获取对应的智能合约执行结果。
在本申请的一个实施例中,所述目标区块链可以通过以下步骤注册并部署到所述中间层服务器:
获取所述目标区块链的连接信息和相关文件;
根据所述连接信息和相关文件初始化与所述目标区块链的平台类型对应的软件开发工具包;
对初始化完成的所述软件开发工具包进行连通性测试;
若所述连通性测试通过,则将所述连接信息和相关文件存储至数据库,并为所述目标区块链分配一个链标识,从而将所述目标区块链注册并部署到所述中间层服务器。
在目标区块链注册时,用户可以于中间层服务器点击新建一条区块链,然后获取该目标区块链的连接信息和相关文件,其中,连接信息可以包括区块链IP地址、区块链接口、区块链平台类型和平台版本等信息,相关文件可以包括SDK证书等和区块链相关的文件。中间层服务器在接收到目标区块链提交的连接信息和相关文件之后,会根据这些信息和文件初始化与该目标区块链的平台类型对应的SDK(软件开发工具包)。在软件开发工具包初始化完成后,中间层服务器对其进行连通性调用的测试,以验证其是否可以正常连接和使用。若连通性测试通过,中间层服务器会将该连接信息和相关文件存储至数据库,并为该目标区块链分配一个链标识,从而完成将目标区块链注册并部署到中间层服务器的操作;若连通性测试不通过,则表示目标区块链注册失败,此时可以返回报错信息,用以提醒技术人员查找区块链注册出错的原因。
在本申请的一个实施例中,所述目标智能合约可以通过以下步骤登记到所述中间层服务器:
将所述目标智能合约部署到所述目标区块链中,并获取所述目标智能合约的合约信息;
根据所述合约信息完成所述目标智能合约的登记,并为所述目标智能合约分配一个合约标识。
将目标智能合约部署到已注册的该目标区块链中,获取相应的合约信息,其中,对于以太坊平台的区块链,可以获取合约地址和合约接口描述文件作为合约信息;对于fabric平台的区块链,可以获取合约名称作为合约信息。中间层服务器在获取到目标智能合约的合约信息后,会根据该合约信息完成该目标智能合约的登记,并为其分配一个合约标识contract ID,分配的合约标识contract ID和该目标区块链的链标识chain ID关联。
本申请实施例的第二方面提供了一种区块链的智能合约调用装置,应用于中间层服务器,所述装置包括:
合约调用请求接收模块,用于接收客户端发送的智能合约调用请求,所述智能合约调用请求包含目标智能合约的合约标识以及所述目标智能合约所处的目标区块链的链标识,其中,所述目标区块链已注册并部署到所述中间层服务器,所述目标智能合约已登记到所述中间层服务器;
合约信息查找模块,用于根据所述合约标识查找所述目标智能合约的合约信息;
智能合约查找模块,用于基于所述合约信息和所述链标识,向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果;
智能合约返回模块,用于将所述目标智能合约的执行结果返回至所述客户端。
本申请实施例的第三方面提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例的第一方面提供的区块链的智能合约调用方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请实施例的第一方面提供的区块链的智能合约调用方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行本申请实施例的第一方面所述的区块链的智能合约调用方法的步骤。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的区块链的智能合约调用方法所采用的智能合约调用系统的结构示意图;
图2是本申请实施例提供的一种区块链的智能合约调用方法的一个实施例的流程图;
图3是本申请实施例提供的另一种区块链的智能合约调用方法的一个实施例的流程图;
图4是本申请实施例提供的对于以太坊区块链的智能合约调用方法的原理示意图;
图5是本申请实施例提供的对于fabric区块链的智能合约调用方法的原理示意图;
图6是本申请实施例提供的一种区块链的智能合约调用装置的一个实施例的结构图;
图7是本申请实施例提供的一种服务器的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。目前,在实际的区块链系统中,通常会架设一个中间层服务器,以负责区块链与业务系统(客户端)通讯过程中的数据编解码、合约函数封装以及业务系统向区块链的订阅信息处理等工作。然而,对于业务系统向区块链调用智能合约的处理,中间层服务器通常需要预先针对不同区块链平台中的每个智能合约进行定制化封装,当业务需求变更时(例如新增一条区块链或者一个智能合约),则需要重新修改代码并测试,代码的更新过程还需要暂停服务,给业务系统的正常运行带来不良影响。而且,一旦中间层服务器对接的区块链平台或智能合约较多,则中间层服务器的代码更新和维护操作将变得十分困难。
针对上述问题,本申请实施例提供了一种区块链的智能合约调用方法、装置、服务器和存储介质,能够避免对不同区块链平台中的每个智能合约进行定制化封装,从而降低中间层服务器代码更新和维护的难度。
应当理解,本申请各个方法实施例的执行主体可以为各种类型的终端设备或服务器,比如手机、平板电脑、笔记本电脑、台式电脑和可穿戴设备等。
图1是本申请实施例提供的区块链的智能合约调用方法所采用的智能合约调用系统的结构示意图。图1包含业务系统、中间层服务器和多个不同的区块链平台,其中业务系统为客户端,需要通过中间层服务器从区块链平台中调用智能合约;中间层服务器负责区块链与业务系统(客户端)通讯过程中的数据编解码、合约函数封装以及业务系统向区块链的订阅信息处理等工作,是本申请提出的各个方法实施例的执行主体;各个不同的区块链平台(例如fabric或以太坊等)都与该中间层服务器对接,完成数据的交互。需要说明的是,本申请不对接入的区块链平台的种类和数量进行任何限定。
关于上述智能合约调用系统的具体工作原理,可以参阅下文所述的方法实施例。
请参阅图2,示出了本申请实施例提供的一种区块链的智能合约调用方法,包括:
201、接收客户端发送的智能合约调用请求,所述智能合约调用请求包含目标智能合约的合约标识以及所述目标智能合约所处的目标区块链的链标识;
业务系统等客户端若需要调用某个目标智能合约,可以发送一个智能合约调用请求至中间层服务器,该智能合约调用请求中包含该目标智能合约的合约标识以及该目标智能合约所处的目标区块链的链标识。具体的,业务系统可以调用中间层服务器提供的合约调用接口,将包含指定信息(例如链标识、合约标识、合约名称和函数调用参数)的合约调用请求提交给中间层服务器。中间层服务器在接收到该智能合约调用请求之后,可以根据请求中的链标识找到对应的目标区块链,并根据请求中的合约标识从该目标区块链中获取到对应的目标智能合约。
其中,该目标区块链预先注册并部署到该中间层服务器,该目标智能合约已部署到该目标区块链且已登记到该中间层服务器。该目标区块链在注册后,中间层服务器会为该目标区块链分配一个链标识(chain ID),用于唯一地表示该目标区块链。该目标智能合约在登记后,中间层服务器也会为该目标智能合约分配一个合约标识(contract ID),用于唯一地表示该目标智能合约。中间层服务器可以将已注册的各个不同区块链的链标识以及已登记的各个不同智能合约的合约标识发送给各个客户端,以便后续客户端调用智能合约时使用。
在本申请的一个实施例中,所述目标区块链可以通过以下步骤注册并部署到所述中间层服务器:
(1)获取所述目标区块链的连接信息和相关文件;
(2)根据所述连接信息和相关文件初始化与所述目标区块链的平台类型对应的软件开发工具包;
(3)对初始化完成的所述软件开发工具包进行连通性测试;
(4)若所述连通性测试通过,则将所述连接信息和相关文件存储至数据库,并为所述目标区块链分配一个链标识,从而将所述目标区块链注册并部署到所述中间层服务器。
上述步骤描述是目标区块链的注册部署过程,然而应当理解的是,任意的一条区块链都可以通过上述相同的步骤注册并部署到该中间层服务器。在目标区块链注册时,用户可以于中间层服务器点击新建一条区块链,然后获取该目标区块链的连接信息和相关文件。其中,连接信息可以包括区块链IP地址、区块链接口、区块链平台类型和平台版本等信息,相关文件可以包括SDK证书等和区块链相关的文件。
连接信息和相关文件可以通过相应的接口提交给中间层服务器,所提交的连接信息或相关文件会因区块链平台的不同而有差异。中间层服务器在接收到目标区块链提交的连接信息和相关文件之后,会根据这些信息和文件初始化与该目标区块链的平台类型对应的SDK(软件开发工具包),初始化的参数可以包括区块链IP地址、区块链接口和SDK证书等。例如,若目标区块链的平台类型为fabric,则初始化fabric平台对应的SDK;若目标区块链的平台类型为以太坊,则初始化以太坊平台对应的SDK,以此类推。
在软件开发工具包初始化完成后,中间层服务器对其进行连通性调用的测试,以验证其是否可以正常连接和使用。若连通性测试通过,中间层服务器会将该连接信息和相关文件存储至数据库,并为该目标区块链分配一个链标识,从而完成将目标区块链注册并部署到中间层服务器的操作;若连通性测试不通过,则表示目标区块链注册失败,此时可以返回报错信息,用以提醒技术人员查找区块链注册出错的原因。
在本申请的一个实施例中,所述目标智能合约可以通过以下步骤登记到所述中间层服务器:
(1)将所述目标智能合约部署到所述目标区块链中,并获取所述目标智能合约的合约信息;
(2)根据所述合约信息完成所述目标智能合约的登记,并为所述目标智能合约分配一个合约标识。
上述步骤描述是目标智能合约部署的部署和登记过程,然而应当理解的是,任意的一个智能合约都可以通过上述相同的步骤登记到该中间层服务器。在目标区块链注册部署完成后,需要执行目标智能合约的登记过程。具体的,先将目标智能合约部署到已注册的该目标区块链中,获取相应的合约信息,其中,对于以太坊平台的区块链,可以获取合约地址和合约接口描述文件作为合约信息;对于fabric平台的区块链,可以获取合约名称作为合约信息。中间层服务器在获取到目标智能合约的合约信息后,会根据该合约信息完成该目标智能合约的登记,并为其分配一个合约标识contract ID,分配的合约标识contractID和该目标区块链的链标识chain ID关联。
202、根据所述合约标识查找所述目标智能合约的合约信息;
中间层服务器在接收到该智能合约调用请求之后,根据该请求中的合约标识查找该目标智能合约的合约信息。具体的,该目标智能合约的合约信息在合约登记后可以存储在中间层服务器的数据库中。此时,中间层服务器可以通过该合约标识从该数据库中查找对应的合约信息,对于以太坊平台的区块链,这里的合约信息可以为合约标识对应的合约地址和接口描述文件;对于fabric平台的区块链,这里的合约信息可以为合约标识对应的合约名称。
203、基于所述合约信息和所述链标识,向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果;
通过该链标识可以确定对应的目标区块链,然后再利用该合约信息向该目标区块链发起智能合约执行请求,从而获取该目标智能合约的执行结果。关于步骤203的更具体的说明,可以参照本申请的下一个实施例。
204、将所述目标智能合约的执行结果返回至所述客户端。
中间层服务器在从目标区块链中获取到该目标智能合约的执行结果之后,会将获取到的该执行结果返回至客户端,从而完成一次智能合约的调用过程。另外,若该目标智能合约调用失败,则中间层服务器可以返回智能合约调用失败的通知信息至该客户端。
总的来说,本申请的关键技术点在于:
(1)当中间层服务器对接一条新的区块链时,将现有技术中修改中间层代码再更新的实现方式,修改为通过提交新链连接信息进行注册的方式;
(2)当区块链上部署一份新合约时,将现有技术中由中间层服务器对新合约接口进行封装后以特定接口暴露给业务系统的方式,修改为只登记智能合约调用的必要信息(合约地址、合约名称等)到中间层服务器,只提供通用合约调用接口给中间层服务器进行自定义调用的方式,大大提高了操作的灵活性。
本申请实施例预先将各个不同的区块链注册并部署到中间层服务器,为区块链分配对应的链标识,以及将各个智能合约登记到中间层服务器,为智能合约分配对应的合约标识。通过这样设置,当客户端调用智能合约时,只需要发出一个带有链标识和合约标识的智能合约调用请求,中间层服务器在接收到该智能合约调用请求后,会根据该链标识和合约标识向对应的区块链发起对应的智能合约执行请求,获取对应的智能合约执行结果返回给客户端。在上述过程中,中间层服务器无需对不同区块链平台中的每个智能合约进行定制化封装,从而能够降低中间层服务器代码更新和维护的难度。
请参阅图3,示出了本申请实施例提供的另一种区块链的智能合约调用方法,包括:
301、接收客户端发送的智能合约调用请求,所述智能合约调用请求包含目标智能合约的合约标识以及所述目标智能合约所处的目标区块链的链标识;
302、根据所述合约标识查找所述目标智能合约的合约信息;
步骤301-302与步骤201-202相同,具体可参照步骤201-202的相关说明。
303、激活与所述链标识对应的软件开发工具包;
中间层服务器通过该链标识可以确定对应的目标区块链,查找到对应的链信息,从而激活与该链标识对应的SDK,即软件开发工具包。在目标区块链注册时,其对应的SDK已完成初始化,而在步骤303中会激活并启动初始化完成的SDK。
304、调用激活后的所述软件开发工具包,以根据所述合约信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果;
调用激活后的该软件开发工具包,以实现从区块链中调取智能合约的执行结果,具体操作方式是根据该合约信息向该目标区块链发起智能合约执行请求,并获取该目标智能合约的执行结果。
进一步的,所述智能合约调用请求还包含所述目标智能合约的属性信息,所述根据所述合约信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果,可以包括:
通过所述合约信息和所述属性信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
业务系统发送的智能合约调用请求中还可以包括该目标智能合约的其它属性信息,例如合约函数名、函数调用参数等信息。在调用目标智能合约时,可以将这部分属性信息和该合约信息结合,提交给对应的目标区块链,以发起智能合约执行请求。
在本申请的一个实施例中,所述目标区块链为以太坊平台的区块链,所述合约信息包括所述目标智能合约的合约地址和接口描述文件,所述属性信息包括所述目标智能合约的合约函数名和函数调用参数,所述通过所述合约信息和所述属性信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果,可以包括:
结合所述合约地址、所述接口描述文件、所述合约函数名和所述函数调用参数向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
对于以太坊平台的区块链,其合约信息包括合约地址和接口描述文件,再结合从业务系统中提交过来的合约函数名和函数调用参数等信息,向区块链发送智能合约执行请求,从而获取对应的智能合约执行结果。
在本申请的一个实施例中,所述目标区块链为fabric平台的区块链,所述合约信息包括所述目标智能合约的合约名称,所述属性信息包括所述目标智能合约的合约函数名和函数调用参数,所述通过所述合约信息和所述属性信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果,可以包括:
结合所述合约名称、所述合约函数名和所述函数调用参数向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
对于fabric平台的区块链,其合约信息包括合约名称,再结合从业务系统中提交过来的合约函数名和函数调用参数等信息,向区块链发送智能合约执行请求,从而获取对应的智能合约执行结果。
305、将所述目标智能合约的执行结果返回至所述客户端。
中间层服务器在从目标区块链中获取到该目标智能合约的执行结果之后,会将获取到的该执行结果返回至客户端,从而完成一次智能合约的调用过程。另外,若由于合约地址不存在,合约函数名不存在或者合约参数列表不合法等原因导致该目标智能合约调用失败,则中间层服务器可以返回智能合约调用失败的通知信息至该客户端。
本申请实施例预先将各个不同的区块链注册并部署到中间层服务器,为区块链分配对应的链标识,以及将各个智能合约登记到中间层服务器,为智能合约分配对应的合约标识。通过这样设置,当客户端调用智能合约时,只需要发出一个带有链标识和合约标识的智能合约调用请求,中间层服务器在接收到该智能合约调用请求后,会根据该链标识和合约标识向对应的区块链发起对应的智能合约执行请求,获取对应的智能合约执行结果返回给客户端。在上述过程中,中间层服务器无需对不同区块链平台中的每个智能合约进行定制化封装,从而能够降低中间层服务器代码更新和维护的难度。
为便于理解,下面以实际的应用场景来说明本申请提出的区块链的智能合约调用方法。
图4是本申请实施例提供的对于以太坊区块链的智能合约调用方法的原理示意图。在图4中,业务系统A需要通过中间层服务器调用以太坊区块链中的智能合约,具体操作流程如下:
(4.1)业务系统A调用中间层服务器提供的合约调用接口,将包含链标识(chainID)、合约标识(contract ID)、合约函数名(method Name)和函数调用参数列表(argList)等信息的合约调用请求提交给中间层服务器;
(4.2)中间层服务器在接收到合约调用请求后,通过其中的链标识(chain ID)查询到对应的区块链信息,然后激活该链标识对应的SDK,即以太坊平台对应的SDK(图4中的SDK-eth);
(4.3)中间层服务器通过合约标识(contract ID)从数据库中查询对应的合约信息,对于以太坊平台的区块链,合约信息可以包括合约地址(address)和合约接口描述文件(ABI)等信息;
(4.4)中间层服务器调用激活后的SDK,对于以太坊平台的区块链,结合合约标识(contract ID)对应的合约地址(address)和合约接口描述文件(ABI),以及业务系统A发送的合约函数名(method Name)和函数调用参数列表(argList)等信息,向该链标识对应的以太坊区块链发起智能合约执行请求,以查找并获取该合约地址(address)对应的智能合约的执行结果;
(4.5)若智能合约调用成功,则中间层服务器返回智能合约的执行结果至该业务系统A,从而完成一次智能合约的调用过程。若智能合约调用失败,例如由于合约地址(address)不存在、合约函数名(method Name)不存在或者函数调用参数列表(argList)不合法等原因导致的智能合约调用失败,则中间层服务器可以返回智能合约调用失败的报错信息至该业务系统A。
图5是本申请实施例提供的对于fabric区块链的智能合约调用方法的原理示意图。在图5中,业务系统B需要通过中间层服务器调用fabric区块链中的智能合约,具体操作流程如下:
(5.1)业务系统B调用中间层服务器提供的合约调用接口,将包含链标识(chainID)、合约标识(contract ID)、合约函数名(method Name)和函数调用参数列表(argList)等信息的合约调用请求提交给中间层服务器;
(5.2)中间层服务器在接收到合约调用请求后,通过其中的链标识(chain ID)查询到对应的区块链信息,然后激活该链标识对应的SDK,即fabric平台对应的SDK(图5中的SDK-fabric);
(5.3)中间层服务器通过合约标识(contract ID)从数据库中查询对应的合约信息,对于fabric平台的区块链,合约信息可以包括合约名称(contract Name)等信息;
(5.4)中间层服务器调用激活后的SDK,对于fabric平台的区块链,结合合约标识(contract ID)对应的合约名称(contract Name),以及业务系统B发送的合约函数名(method Name)和函数调用参数列表(argList)等信息,向该链标识对应的fabric区块链发起智能合约执行请求,以查找并获取该合约名称(contract Name)对应的智能合约的执行结果;
(5.5)若智能合约调用成功,则中间层服务器返回智能合约的执行结果至该业务系统B,从而完成一次智能合约的调用过程。若智能合约调用失败,例如合约名称(contractName)不存在、合约函数名(method Name)不存在或者函数调用参数列表(argList)不合法等原因导致的智能合约调用失败,则中间层服务器可以返回智能合约调用失败的报错信息至该业务系统B。
需要说明的是,虽然以上只列出针对以太坊区块链和fabric区块链的实际应用场景,但本申请可以实现基于任何区块链平台的智能合约调用,若需要支持新的区块链平台,只需要中间层服务器对以下环节进行定制化操作,后续即可永久支持新的区块链平台的智能合约调用代理流程,具体环节包括:
(1)按照新区块链平台的连接要求,新增一类区块链注册信息;
(2)按照新区块链平台的合约调用规范,新增一类智能合约登记信息;
(3)按照新区块链平台的合约调用规范,实现新平台的SDK初始化和交易封装逻辑。
通过以上各个实施例和应用场景的描述可以获知,本申请提出的智能合约调用方法具有以下优点:
(1)中间层服务器不需要针对每条区块链的每个智能合约都进行一次封装,当新增一条区块链或一个智能合约时,只需要业务系统封装新合约的相关信息即可,中间层服务器无需修改和更新;
(2)中间层服务器对智能合约所实现的业务逻辑无感知,只负责对业务系统发送的合约调用请求进行编/解码和转发,不与业务逻辑绑定,因此可以支持各种不同类型的业务系统同时接入,实用性强。
应理解,上述各个实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上面主要描述了一种区块链的智能合约调用方法,下面将对一种区块链的智能合约调用装置进行描述。
请参阅图6,本申请实施例中一种区块链的智能合约调用装置的一个实施例包括:
合约调用请求接收模块601,用于接收客户端发送的智能合约调用请求,所述智能合约调用请求包含目标智能合约的合约标识以及所述目标智能合约所处的目标区块链的链标识,其中,所述目标区块链已注册并部署到所述中间层服务器,所述目标智能合约已登记到所述中间层服务器;
合约信息查找模块602,用于根据所述合约标识查找所述目标智能合约的合约信息;
智能合约查找模块603,用于基于所述合约信息和所述链标识,向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果;
智能合约返回模块604,用于将所述目标智能合约的执行结果返回至所述客户端。
在本申请的一个实施例中,所述智能合约查找模块可以包括:
工具包激活单元,用于激活与所述链标识对应的软件开发工具包;
智能合约查找单元,用于调用激活后的所述软件开发工具包,以根据所述合约信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
进一步的,所述智能合约调用请求还包含所述目标智能合约的属性信息,所述智能合约查找单元具体可以用于:通过所述合约信息和所述属性信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
在本申请的一个实施例中,所述目标区块链为以太坊平台的区块链,所述合约信息包括所述目标智能合约的合约地址和接口描述文件,所述属性信息包括所述目标智能合约的合约函数名和函数调用参数,所述智能合约查找单元可以包括:
第一合约查找子单元,用于结合所述合约地址、所述接口描述文件、所述合约函数名和所述函数调用参数向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
在本申请的一个实施例中,所述目标区块链为fabric平台的区块链,所述合约信息包括所述目标智能合约的合约名称,所述属性信息包括所述目标智能合约的合约函数名和函数调用参数,所述智能合约查找单元可以包括:
第二合约查找子单元,用于结合所述合约名称、所述合约函数名和所述函数调用参数向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
在本申请的一个实施例中,所述智能合约调用装置还可以包括:
区块链信息获取模块,用于获取所述目标区块链的连接信息和相关文件;
工具包初始化模块,用于根据所述连接信息和相关文件初始化与所述目标区块链的平台类型对应的软件开发工具包;
连通性测试模块,用于对初始化完成的所述软件开发工具包进行连通性测试;
链标识分配模块,用于若所述连通性测试通过,则将所述连接信息和相关文件存储至数据库,并为所述目标区块链分配一个链标识,从而将所述目标区块链注册并部署到所述中间层服务器。
在本申请的一个实施例中,所述智能合约调用装置还可以包括:
智能合约部署模块,用于将所述目标智能合约部署到所述目标区块链中,并获取所述目标智能合约的合约信息;
合约标识分配模块,用于根据所述合约信息完成所述目标智能合约的登记,并为所述目标智能合约分配一个合约标识。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如图2或图3表示的任意一种区块链的智能合约调用方法的步骤。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在终端设备上运行时,使得终端设备执行实现如图2或图3表示的任意一种区块链的智能合约调用方法的步骤。
图7是本申请一实施例提供的服务器的示意图。如图7所示,该实施例的服务器7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各个智能合约调用方法的实施例中的步骤,例如图2所示的步骤201至204。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至604的功能。
所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述服务器7中的执行过程。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述服务器7的内部存储单元,例如服务器7的硬盘或内存。所述存储器71也可以是所述服务器7的外部存储设备,例如所述服务器7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述服务器7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种区块链的智能合约调用方法,应用于中间层服务器,其特征在于,所述方法包括:
接收客户端发送的智能合约调用请求,所述智能合约调用请求包含目标智能合约的合约标识以及所述目标智能合约所处的目标区块链的链标识,其中,所述目标区块链已注册并部署到所述中间层服务器,所述目标智能合约已登记到所述中间层服务器;
根据所述合约标识查找所述目标智能合约的合约信息;
基于所述合约信息和所述链标识,向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果;
将所述目标智能合约的执行结果返回至所述客户端。
2.如权利要求1所述的智能合约调用方法,其特征在于,基于所述合约信息和所述链标识,向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果,包括:
激活与所述链标识对应的软件开发工具包;
调用激活后的所述软件开发工具包,以根据所述合约信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
3.如权利要求2所述的智能合约调用方法,其特征在于,所述智能合约调用请求还包含所述目标智能合约的属性信息,所述根据所述合约信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果,包括:
通过所述合约信息和所述属性信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
4.如权利要求3所述的智能合约调用方法,其特征在于,所述目标区块链为以太坊平台的区块链,所述合约信息包括所述目标智能合约的合约地址和接口描述文件,所述属性信息包括所述目标智能合约的合约函数名和函数调用参数,所述通过所述合约信息和所述属性信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果,包括:
结合所述合约地址、所述接口描述文件、所述合约函数名和所述函数调用参数向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
5.如权利要求3所述的智能合约调用方法,其特征在于,所述目标区块链为fabric平台的区块链,所述合约信息包括所述目标智能合约的合约名称,所述属性信息包括所述目标智能合约的合约函数名和函数调用参数,所述通过所述合约信息和所述属性信息向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果,包括:
结合所述合约名称、所述合约函数名和所述函数调用参数向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果。
6.如权利要求1至5中任一项所述的智能合约调用方法,其特征在于,所述目标区块链通过以下步骤注册并部署到所述中间层服务器:
获取所述目标区块链的连接信息和相关文件;
根据所述连接信息和相关文件初始化与所述目标区块链的平台类型对应的软件开发工具包;
对初始化完成的所述软件开发工具包进行连通性测试;
若所述连通性测试通过,则将所述连接信息和相关文件存储至数据库,并为所述目标区块链分配一个链标识,从而将所述目标区块链注册并部署到所述中间层服务器。
7.如权利要求6所述的智能合约调用方法,其特征在于,所述目标智能合约通过以下步骤登记到所述中间层服务器:
将所述目标智能合约部署到所述目标区块链中,并获取所述目标智能合约的合约信息;
根据所述合约信息完成所述目标智能合约的登记,并为所述目标智能合约分配一个合约标识。
8.一种区块链的智能合约调用装置,应用于中间层服务器,其特征在于,所述装置包括:
合约调用请求接收模块,用于接收客户端发送的智能合约调用请求,所述智能合约调用请求包含目标智能合约的合约标识以及所述目标智能合约所处的目标区块链的链标识,其中,所述目标区块链已注册并部署到所述中间层服务器,所述目标智能合约已登记到所述中间层服务器;
合约信息查找模块,用于根据所述合约标识查找所述目标智能合约的合约信息;
智能合约查找模块,用于基于所述合约信息和所述链标识,向所述目标区块链发起智能合约执行请求,并获取所述目标智能合约的执行结果;
智能合约返回模块,用于将所述目标智能合约的执行结果返回至所述客户端。
9.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的区块链的智能合约调用方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的区块链的智能合约调用方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011543148.1A CN112631803A (zh) | 2020-12-21 | 2020-12-21 | 区块链的智能合约调用方法、装置、服务器和存储介质 |
PCT/CN2020/142026 WO2022134186A1 (zh) | 2020-12-21 | 2020-12-31 | 区块链的智能合约调用方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011543148.1A CN112631803A (zh) | 2020-12-21 | 2020-12-21 | 区块链的智能合约调用方法、装置、服务器和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112631803A true CN112631803A (zh) | 2021-04-09 |
Family
ID=75321995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011543148.1A Pending CN112631803A (zh) | 2020-12-21 | 2020-12-21 | 区块链的智能合约调用方法、装置、服务器和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112631803A (zh) |
WO (1) | WO2022134186A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113256293A (zh) * | 2021-06-23 | 2021-08-13 | 中国银行股份有限公司 | 接口管控方法及装置 |
CN113312427A (zh) * | 2021-05-24 | 2021-08-27 | 网易(杭州)网络有限公司 | 区块链调用方法、装置、管理服务平台及存储介质 |
CN113535690A (zh) * | 2021-09-15 | 2021-10-22 | 支付宝(杭州)信息技术有限公司 | 一种区块链服务网络的组建方法和装置 |
CN113535335A (zh) * | 2021-09-15 | 2021-10-22 | 支付宝(杭州)信息技术有限公司 | 基于区块链的虚拟资源分配方法及装置和电子设备 |
CN113542435A (zh) * | 2021-09-15 | 2021-10-22 | 支付宝(杭州)信息技术有限公司 | 一种用户服务使用方法及装置 |
CN113609217A (zh) * | 2021-07-19 | 2021-11-05 | 上海浦东发展银行股份有限公司 | 数据处理方法和装置 |
CN113689188A (zh) * | 2021-08-23 | 2021-11-23 | 交通银行股份有限公司 | 基于以太坊智能合约的去中心化信息管理系统及其方法 |
CN115086394A (zh) * | 2022-06-15 | 2022-09-20 | 亚信科技(中国)有限公司 | 业务信息处理方法、装置及电子设备 |
CN116975850A (zh) * | 2023-09-25 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 合约运行方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108510389A (zh) * | 2018-03-30 | 2018-09-07 | 深圳前海微众银行股份有限公司 | 基于区块链的智能合约调用方法、设备及可读存储介质 |
CN110827037A (zh) * | 2019-11-07 | 2020-02-21 | 北京海益同展信息科技有限公司 | 基于区块链的数据交互方法和装置 |
CN111026982A (zh) * | 2019-10-15 | 2020-04-17 | 深圳壹账通智能科技有限公司 | 智能合约处理方法、计算机设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526624B (zh) * | 2017-07-18 | 2020-12-08 | 杭州趣链科技有限公司 | 一种基于Java虚拟机的智能合约执行引擎 |
US10606669B2 (en) * | 2018-06-08 | 2020-03-31 | Optum, Inc. | Domain and event type-specific consensus process for a distributed ledger |
CN109376541A (zh) * | 2018-09-21 | 2019-02-22 | 上海点融信息科技有限责任公司 | 用于运行智能合约的方法、装置以及计算机存储介质 |
CN116166280A (zh) * | 2019-01-17 | 2023-05-26 | 杭州趣链科技有限公司 | 区块链开放平台及区块链应用的发布方法 |
CN117251249A (zh) * | 2019-12-31 | 2023-12-19 | 杭州趣链科技有限公司 | 一种基于多虚拟机区块链平台跨虚拟机调用方法 |
-
2020
- 2020-12-21 CN CN202011543148.1A patent/CN112631803A/zh active Pending
- 2020-12-31 WO PCT/CN2020/142026 patent/WO2022134186A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108510389A (zh) * | 2018-03-30 | 2018-09-07 | 深圳前海微众银行股份有限公司 | 基于区块链的智能合约调用方法、设备及可读存储介质 |
CN111026982A (zh) * | 2019-10-15 | 2020-04-17 | 深圳壹账通智能科技有限公司 | 智能合约处理方法、计算机设备及存储介质 |
CN110827037A (zh) * | 2019-11-07 | 2020-02-21 | 北京海益同展信息科技有限公司 | 基于区块链的数据交互方法和装置 |
Non-Patent Citations (1)
Title |
---|
贝拉•巴德等: "《区块链开发实战 实用案例分析》", 31 January 2020, pages: 114 - 115 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312427A (zh) * | 2021-05-24 | 2021-08-27 | 网易(杭州)网络有限公司 | 区块链调用方法、装置、管理服务平台及存储介质 |
CN113256293A (zh) * | 2021-06-23 | 2021-08-13 | 中国银行股份有限公司 | 接口管控方法及装置 |
CN113609217A (zh) * | 2021-07-19 | 2021-11-05 | 上海浦东发展银行股份有限公司 | 数据处理方法和装置 |
CN113689188A (zh) * | 2021-08-23 | 2021-11-23 | 交通银行股份有限公司 | 基于以太坊智能合约的去中心化信息管理系统及其方法 |
CN113535335A (zh) * | 2021-09-15 | 2021-10-22 | 支付宝(杭州)信息技术有限公司 | 基于区块链的虚拟资源分配方法及装置和电子设备 |
CN113542435A (zh) * | 2021-09-15 | 2021-10-22 | 支付宝(杭州)信息技术有限公司 | 一种用户服务使用方法及装置 |
CN113535690A (zh) * | 2021-09-15 | 2021-10-22 | 支付宝(杭州)信息技术有限公司 | 一种区块链服务网络的组建方法和装置 |
CN113535690B (zh) * | 2021-09-15 | 2021-12-21 | 支付宝(杭州)信息技术有限公司 | 一种区块链服务网络的组建方法和装置 |
WO2023040450A1 (zh) * | 2021-09-15 | 2023-03-23 | 支付宝(杭州)信息技术有限公司 | 区块链服务网络的组建 |
WO2023040496A1 (zh) * | 2021-09-15 | 2023-03-23 | 支付宝(杭州)信息技术有限公司 | 基于区块链的虚拟资源分配 |
CN115086394A (zh) * | 2022-06-15 | 2022-09-20 | 亚信科技(中国)有限公司 | 业务信息处理方法、装置及电子设备 |
CN116975850A (zh) * | 2023-09-25 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 合约运行方法、装置、电子设备及存储介质 |
CN116975850B (zh) * | 2023-09-25 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 合约运行方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022134186A1 (zh) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112631803A (zh) | 区块链的智能合约调用方法、装置、服务器和存储介质 | |
CN111163129B (zh) | 一种基于跨链网络的资源处理方法及装置 | |
CN107979508B (zh) | 微服务测试方法及装置 | |
CN108958714B (zh) | 业务组件式开发方法、装置、计算机设备及存储介质 | |
CN110262889B (zh) | 一种链路追踪方法及装置 | |
CN108776587B (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN111782519A (zh) | 测试方法、装置和电子设备 | |
CN111538659A (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
CN115469833A (zh) | 动态规则引擎的实现方法和装置、电子设备和存储介质 | |
CN109885612B (zh) | 区块链智能合约的同步生效方法及装置 | |
CN114465998A (zh) | 多设备的文件传输方法、装置、终端设备及可读存储介质 | |
CN111309624B (zh) | 测试方法、装置、设备及存储介质 | |
CN110111188B (zh) | 业务办理方法及设备 | |
CN112732677A (zh) | 区块链节点部署方法、装置、设备及存储介质 | |
CN112083925A (zh) | 基于h5页面开发的数据获取方法、装置、设备及存储介质 | |
CN108647139B (zh) | 系统的测试方法、装置、存储介质及电子装置 | |
CN105068791A (zh) | 一种实现底层库的方法及装置 | |
CN112667498B (zh) | 服务器搭建方法、装置、计算机设备和可读存储介质 | |
CN112748932B (zh) | 基于智能合约的数据处理方法、服务器 | |
CN115412552A (zh) | 一种用于区块链部署配置的方法及系统 | |
CN113704120A (zh) | 数据传输方法、装置、设备及存储介质 | |
CN114358936A (zh) | 一种基于微服务区块链的智能合约运行方法 | |
CN112748981B (zh) | 虚拟网络功能的软件镜像的处理方法和装置 | |
CN111369246A (zh) | 智能合约的调用鉴权方法、装置、电子设备及存储介质 | |
US20230126717A1 (en) | System and method for generating a set of ordered deployment domains |
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 |